Function at 0x414870
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov al, byte [0x4a9064]
sub esp, 0x3c
test al, al
push ebx
push ebp
push esi
push edi
je 0x4148da
mov eax, dword [esp + 0x68]
mov ecx, eax
dec eax
test ecx, ecx
je 0x41500b
mov esi, dword [esp + 0x54]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x58]
mov edi, dword [esp + 0x50]
inc eax
mov dword [esp + 0x68], eax
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
push edx
push ebx
push eax
push esi
push ebp
push edi
call fcn.004906cf
mov ecx, dword [esp + 0x78]
add esp, 0x18
add edi, esi
add ebp, esi
lea eax, [ecx + ecx]
add ebx, eax
mov eax, dword [esp + 0x68]
dec eax
mov dword [esp + 0x68], eax
jne 0x4148a4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x68]
mov esi, edx
mov ecx, eax
shr esi, 1
dec eax
mov dword [esp + 0x44], esi
test ecx, ecx
mov dword [esp + 0x68], eax
je 0x41500b
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x5c]
mov edi, dword [esp + 0x50]
mov ebx, dword [esp + 0x58]
test ecx, ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
je 0x414fd9
jmp 0x41492b
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x44]
mov eax, edi
lea ebx, [esi + esi]
sub eax, ebx
xor ecx, ecx
xor ebp, ebp
xor edx, edx
mov cx, word [eax]
mov bp, word [edi + esi*2 + 2]
mov dword [esp + 0x28], ecx
xor ecx, ecx
mov cx, word [eax + 2]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x30], ecx
xor ecx, ecx
mov cx, word [edi + 4]
xor ebp, ebp
mov bp, word [edi + esi*2 + 4]
mov dx, word [edi + 2]
mov dword [esp + 0x34], ecx
xor ecx, ecx
mov cx, word [ebx + edi - 2]
xor eax, eax
mov ax, word [edi - 2]
mov dword [esp + 0x2c], ebp
xor ebp, ebp
mov dword [esp + 0x14], ecx
mov bp, word [edi + esi*4]
xor ecx, ecx
mov cx, word [ebx + edi]
mov dword [esp + 0x24], eax
xor esi, esi
xor eax, eax
mov si, word [edi + ebx*2 + 2]
mov ax, word [edi]
mov edi, dword [esp + 0x10]
cmp ecx, edx
mov dword [esp + 0x48], ebp
mov dword [esp + 0x18], esi
jne 0x414b07
cmp eax, edi
je 0x414b0f
mov esi, dword [esp + 0x14]
mov ebp, ecx
cmp esi, ecx
mov esi, dword [0x4a9068]
mov dword [esp + 0x1c], ebp
mov edi, ecx
je 0x4149f8
cmp edx, dword [esp + 0x30]
je 0x4149f8
cmp eax, edx
je 0x4149f4
mov ebx, edx
mov ebp, eax
shr esi, 1
shr ebx, 1
shr ebp, 1
and ebx, esi
and ebp, esi
mov esi, dword [str.__b__b]
add ebx, ebp
and esi, edx
mov ebp, ecx
and esi, eax
add ebx, esi
jmp 0x414a56
mov ebx, eax
jmp 0x414a56
cmp ecx, eax
je 0x414a54
mov ebx, ecx
shr esi, 1
shr ebx, 1
and ebx, esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], ebx
mov ebx, eax
shr ebx, 1
and ebx, esi
mov esi, dword [str.__b__b]
and esi, ecx
and esi, eax
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x18]
add esi, ebx
mov ebx, esi
mov esi, dword [esp + 0x30]
add esi, ebx
cmp ecx, esi
je 0x414a54
mov ebx, dword [esp + 0x14]
mov ebp, esi
shr ebp, 1
and ebp, ebx
mov ebx, dword [str.__b__b]
and ebx, esi
mov esi, dword [esp + 0x18]
and ebx, ecx
add esi, ebp
mov ebp, dword [esp + 0x1c]
add ebx, esi
jmp 0x414a56
mov ebx, ecx
cmp edx, dword [esp + 0x34]
je 0x414a9d
cmp ecx, dword [esp + 0x48]
je 0x414a9d
cmp ecx, dword [esp + 0x10]
je 0x414b00
mov edx, dword [0x4a9068]
mov esi, dword [esp + 0x10]
mov ebp, ecx
shr edx, 1
shr esi, 1
shr ebp, 1
and esi, edx
and ebp, edx
mov edx, dword [str.__b__b]
add esi, ebp
mov ebp, dword [esp + 0x10]
and edx, ebp
mov ebp, dword [esp + 0x1c]
and edx, ecx
add esi, edx
jmp 0x414f83
mov esi, dword [esp + 0x10]
cmp ecx, esi
je 0x414b00
mov edx, dword [0x4a9068]
mov ebp, ecx
shr edx, 1
shr ebp, 1
and ebp, edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ebp
mov ebp, esi
shr ebp, 1
and ebp, edx
mov edx, dword [str.__b__b]
and edx, esi
mov esi, dword [esp + 0x18]
and edx, ecx
add esi, ebp
add edx, esi
cmp ecx, edx
je 0x414afc
mov esi, dword [esp + 0x14]
mov ebp, edx
shr ebp, 1
and ebp, esi
mov esi, dword [str.__b__b]
and esi, edx
and esi, ecx
mov ecx, dword [esp + 0x18]
add ecx, ebp
mov ebp, dword [esp + 0x1c]
add esi, ecx
jmp 0x414f83
mov ebp, dword [esp + 0x1c]
mov esi, ecx
jmp 0x414f83
cmp eax, edi
jne 0x414e28
cmp ecx, edx
je 0x414c7d
mov edi, dword [esp + 0x28]
mov ebx, eax
cmp edi, eax
mov dword [esp + 0x48], ebx
mov esi, eax
je 0x414b61
mov edi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x10]
cmp ebp, edi
je 0x414b61
cmp eax, edx
je 0x414bbf
mov ebx, dword [0x4a9068]
mov edi, edx
mov ebp, eax
shr ebx, 1
shr edi, 1
shr ebp, 1
and edi, ebx
and ebp, ebx
mov ebx, dword [str.__b__b]
add edi, ebp
and ebx, edx
and ebx, eax
add edi, ebx
mov ebx, eax
jmp 0x414bc1
cmp eax, edx
je 0x414bbf
mov edi, dword [0x4a9068]
mov ebp, eax
shr edi, 1
shr ebp, 1
and ebp, edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], ebp
mov ebp, edx
shr ebp, 1
and ebp, edi
mov edi, ebp
mov ebp, dword [str.__b__b]
and ebp, edx
mov edx, dword [esp + 0x1c]
and ebp, eax
add edx, edi
add ebp, edx
cmp eax, ebp
je 0x414bbf
mov edi, dword [esp + 0x14]
mov edx, ebp
shr edx, 1
and edx, edi
mov edi, dword [str.__b__b]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x1c]
and edi, ebp
mov ebp, dword [esp + 0x48]
and edi, eax
add edx, ebp
add edi, edx
jmp 0x414bc1
mov edi, eax
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
cmp edx, ebp
je 0x414c17
cmp dword [esp + 0x24], eax
je 0x414c17
cmp ecx, edx
je 0x414c10
mov ebp, dword [0x4a9068]
shr ebp, 1
shr edx, 1
and edx, ebp
mov dword [esp + 0x1c], edx
mov edx, ecx
shr edx, 1
and edx, ebp
mov ebp, dword [esp + 0x1c]
add ebp, edx
mov edx, dword [str.__b__b]
mov dword [esp + 0x1c], ebp
mov ebp, dword [esp + 0x10]
and edx, ebp
mov ebp, dword [esp + 0x1c]
and edx, ecx
add ebp, edx
jmp 0x414f83
mov ebp, ecx
jmp 0x414f83
cmp eax, ecx
je 0x414c76
mov edx, dword [0x4a9068]
mov ebp, eax
shr edx, 1
shr ebp, 1
and ebp, edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], ebp
mov ebp, ecx
shr ebp, 1
and ebp, edx
mov edx, dword [str.__b__b]
and edx, ecx
mov ecx, dword [esp + 0x1c]
and edx, eax
add ecx, ebp
add edx, ecx
cmp eax, edx
je 0x414c76
mov ebp, dword [esp + 0x14]
mov ecx, edx
shr ecx, 1
and ecx, ebp
mov ebp, dword [str.__b__b]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x1c]
and ebp, edx
mov edx, dword [esp + 0x48]
and ebp, eax
add ecx, edx
add ebp, ecx
jmp 0x414f83
mov ebp, eax
jmp 0x414f83
cmp eax, edi
jne 0x414e28
mov edi, dword [esp + 0x14]
xor ebx, ebx
cmp edx, edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], ebx
jne 0x414c9e
mov ebx, 1
jmp 0x414ca7
cmp eax, edi
mov edi, 1
je 0x414cab
mov edi, dword [esp + 0x1c]
cmp edx, ebp
jne 0x414cb2
inc ebx
jmp 0x414cb7
cmp eax, ebp
jne 0x414cb7
inc edi
cmp ebx, 1
jg 0x414cc4
mov dword [esp + 0x18], 1
cmp edi, 1
jg 0x414ccd
dec dword [esp + 0x18]
mov ebp, dword [esp + 0x24]
xor edi, edi
xor ebx, ebx
cmp edx, ebp
mov dword [esp + 0x1c], edi
jne 0x414ce4
mov ebx, 1
jmp 0x414cf0
cmp eax, ebp
jne 0x414cf0
mov dword [esp + 0x1c], 1
mov ebp, dword [esp + 0x28]
cmp edx, ebp
jne 0x414cfb
inc ebx
jmp 0x414d03
cmp eax, ebp
jne 0x414d03
inc dword [esp + 0x1c]
cmp ebx, 1
jg 0x414d0d
mov edi, 1
cmp dword [esp + 0x1c], 1
jg 0x414d15
dec edi
mov ebx, dword [esp + 0x18]
xor ebp, ebp
add edi, ebx
xor ebx, ebx
mov dword [esp + 0x48], edi
xor edi, edi
cmp edx, esi
jne 0x414d30
mov ebx, 1
jmp 0x414d39
cmp eax, esi
jne 0x414d39
mov ebp, 1
mov esi, dword [esp + 0x2c]
cmp edx, esi
jne 0x414d44
inc ebx
jmp 0x414d49
cmp eax, esi
jne 0x414d49
inc ebp
cmp ebx, 1
jg 0x414d53
mov edi, 1
cmp ebp, 1
jg 0x414d59
dec edi
mov ebp, dword [esp + 0x48]
mov esi, dword [esp + 0x30]
add ebp, edi
xor edi, edi
xor ebx, ebx
cmp edx, esi
mov dword [esp + 0x48], ebx
jne 0x414d76
mov edi, 1
jmp 0x414d7f
cmp eax, esi
jne 0x414d7f
mov ebx, 1
mov esi, dword [esp + 0x34]
cmp edx, esi
jne 0x414d8a
inc edi
jmp 0x414d8f
cmp eax, esi
jne 0x414d8f
inc ebx
cmp edi, 1
mov esi, 1
jle 0x414d9d
mov esi, dword [esp + 0x48]
cmp ebx, 1
jg 0x414da3
dec esi
add ebp, esi
test ebp, ebp
jle 0x414de3
cmp eax, edx
mov ebp, ecx
mov edi, ecx
je 0x414dda
mov ecx, dword [0x4a9068]
mov esi, edx
mov ebx, eax
shr ecx, 1
shr esi, 1
shr ebx, 1
and esi, ecx
and ebx, ecx
mov ecx, dword [str.__b__b]
add esi, ebx
and ecx, edx
and ecx, eax
add esi, ecx
mov ebx, esi
jmp 0x414f83
mov esi, eax
mov ebx, esi
jmp 0x414f83
mov ebx, eax
mov esi, eax
jge 0x414e1f
cmp eax, edx
je 0x414e16
mov ecx, dword [0x4a9068]
mov ebp, edx
mov edi, eax
shr ecx, 1
shr ebp, 1
shr edi, 1
and ebp, ecx
and edi, ecx
mov ecx, dword [str.__b__b]
add ebp, edi
and ecx, edx
and ecx, eax
add ebp, ecx
mov edi, ebp
jmp 0x414f83
mov ebp, eax
mov edi, ebp
jmp 0x414f83
mov ebp, ecx
mov edi, ecx
jmp 0x414f83
cmp ecx, edx
je 0x414e50
mov edi, dword [0x4a9068]
mov esi, ecx
mov ebx, edx
shr edi, 1
shr esi, 1
shr ebx, 1
and esi, edi
and ebx, edi
mov edi, dword [str.__b__b]
add esi, ebx
and edi, ecx
and edi, edx
add esi, edi
jmp 0x414e52
mov esi, ecx
mov ebx, dword [0x4a9074]
mov ebp, dword [0x4a9070]
mov edi, ebx
and edi, esi
shr ebp, 2
shr esi, 2
and esi, ebp
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x10]
mov edi, ebx
mov dword [esp + 0x1c], ebp
and edi, esi
mov esi, dword [esp + 0x34]
lea esi, [esi + edi*2]
add edi, esi
mov esi, dword [esp + 0x10]
shr esi, 2
shr edi, 2
and esi, ebp
mov ebp, dword [esp + 0x30]
and edi, ebx
lea esi, [esi + esi*2]
add ebp, edi
mov edi, ebx
add esi, ebp
mov ebp, dword [esp + 0x34]
and edi, eax
lea ebp, [ebp + edi*2]
add edi, ebp
mov ebp, dword [esp + 0x1c]
shr edi, 2
and edi, ebx
mov ebx, eax
shr ebx, 2
and ebx, ebp
mov ebp, dword [esp + 0x30]
add ebp, edi
lea ebx, [ebx + ebx*2]
add ebx, ebp
mov ebp, dword [esp + 0x10]
cmp eax, ebp
je 0x414f07
mov edi, dword [0x4a9068]
shr edi, 1
shr ebp, 1
and ebp, edi
mov dword [esp + 0x18], ebp
mov ebp, eax
shr ebp, 1
and ebp, edi
mov edi, dword [esp + 0x18]
add edi, ebp
mov ebp, dword [str.__b__b]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x10]
and ebp, edi
mov edi, dword [esp + 0x18]
and ebp, eax
add edi, ebp
jmp 0x414f09
mov edi, eax
mov ebp, dword [0x4a9074]
and ebp, edi
mov dword [esp + 0x34], ebp
mov ebp, dword [esp + 0x1c]
shr edi, 2
and edi, ebp
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x30], edi
mov edi, dword [0x4a9074]
and edi, ecx
shr ecx, 2
lea ebp, [ebp + edi*2]
add edi, ebp
mov ebp, dword [0x4a9074]
shr edi, 2
and edi, ebp
mov ebp, dword [esp + 0x1c]
and ecx, ebp
lea ebp, [ecx + ecx*2]
mov ecx, dword [esp + 0x30]
add ecx, edi
mov edi, dword [esp + 0x34]
add ebp, ecx
mov ecx, dword [0x4a9074]
and ecx, edx
shr edx, 2
lea edi, [edi + ecx*2]
add ecx, edi
mov edi, dword [0x4a9074]
shr ecx, 2
and ecx, edi
mov edi, dword [esp + 0x1c]
and edx, edi
lea edi, [edx + edx*2]
mov edx, dword [esp + 0x30]
add edx, ecx
add edi, edx
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x60]
shl edi, 0x10
shl esi, 0x10
or edi, ebx
or esi, ebp
mov dword [ecx], edi
mov dword [ecx + edx], esi
mov edx, dword [esp + 0x38]
add ecx, 4
mov dword [esp + 0x3c], ecx
mov word [edx], ax
mov eax, dword [esp + 0x20]
add eax, 2
add edx, 2
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x40]
dec eax
mov dword [esp + 0x38], edx
mov dword [esp + 0x40], eax
jne 0x414923
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x64]
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x60]
mov ebx, dword [esp + 0x50]
add ebx, edx
lea eax, [eax + edi*2]
mov edi, dword [esp + 0x58]
add edi, edx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x58], edi
mov edi, dword [esp + 0x68]
mov ebx, edi
dec edi
test ebx, ebx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x68], edi
jne 0x414901
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret