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

Disassembly:
sub esp, 0xbc
push ebx
push ebp
mov ebp, edx
xor ebx, ebx
mov edx, ecx
mov dword [esp + 0x24], ebp
push esi
xor ecx, ecx
mov dword [esp + 0x2c], edx
push edi
mov eax, dword [edx]
xor edi, edi
mov esi, dword [edx + 0xc]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x24], edi
mov eax, dword [eax]
mov dword [esp + 0x14], ecx
mov eax, dword [eax]
mov dword [esp + 0x34], eax
cmp byte [eax + 0x41], cl
je 0x490da8
lea eax, [ebx + 7]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xbc
ret
mov eax, dword [esi + 0x24]
mov dword [esp + 0x40], eax
test al, 0x20
je 0x490dba
mov edx, 0x18
jmp 0x490dcb
test byte [ebp + 0x24], 8
mov edx, 0x1bf
mov eax, 0x3f
cmovne edx, eax
movzx eax, word [esi + 0x2a]
movzx ecx, word [esi + 0x18]
mov edi, dword [esp + 0xd0]
mov dword [esp + 0x54], eax
movzx eax, word [esi + 0x28]
mov dword [esp + 0x50], eax
mov eax, dword [esi]
mov dword [esp + 0x48], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x4c], eax
movzx eax, word [esi + 0x16]
mov ebp, eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], eax
mov eax, dword [edi + 0x38]
mov dword [esp + 0x64], ebp
movzx ebp, cx
mov ecx, edx
and ecx, 0xffffffc3
mov dword [esp + 0x20], ebp
and al, 4
mov eax, dword [esp + 0x2c]
cmove ecx, edx
push edi
push ecx
mov ecx, dword [esp + 0x38]
push ebp
push dword [eax + 0x30]
mov edx, dword [ecx + 4]
lea ecx, [esp + 0x78]
call fcn.0048f2c0
mov ebp, eax
add esp, 0x10
xor eax, eax
mov word [esi + 0x12], ax
mov eax, dword [edi + 8]
movzx eax, word [eax]
mov ecx, eax
mov dword [esp + 0x60], ecx
cmp cx, 0xa
jg 0x490e56
mov dword [esp + 0x1c], ebx
jmp 0x490e6d
cwde
cdq
push edx
push eax
call fcn.004233e0
add esp, 8
sub ax, 0x21
movzx eax, ax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x28], eax
test ebp, ebp
je 0x491388
movzx edx, word [ebp + 0x12]
mov eax, pe_nt_image_headers32
mov ecx, edx
mov dword [esp + 0x44], ecx
cmp cx, ax
jne 0x490ec3
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x20]
movsx ecx, word [eax + ecx*2]
test ecx, ecx
js 0x490eba
mov eax, dword [edi + 0xc]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + 4]
mov al, byte [eax + ecx*8 + 0x14]
test al, al
jne 0x49136f
jmp 0x490ec3
cmp ecx, 0xffffffff
je 0x49136f
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
and ecx, dword [esi + 8]
and eax, dword [esi + 0xc]
or ecx, eax
jne 0x49136f
mov eax, pe_nt_image_headers32
test word [ebp + 0x14], ax
je 0x490eeb
cmp edx, 0x10
je 0x49136f
mov eax, dword [esp + 0x40]
mov edx, esi
mov ecx, dword [esp + 0x34]
mov dword [esi + 0x24], eax
mov eax, dword [esp + 0x3c]
mov word [esi + 0x18], ax
mov eax, dword [esp + 0x50]
mov word [esi + 0x28], ax
movzx eax, ax
inc eax
push eax
call fcn.00490600
add esp, 4
test eax, eax
jne 0x491388
movzx ecx, word [esi + 0x28]
mov eax, dword [esi + 0x30]
mov dword [eax + ecx*4], ebp
mov ax, word [esi + 0x28]
inc ax
movzx ecx, ax
mov dword [esp + 0x58], ecx
movzx ecx, ax
mov word [esi + 0x28], ax
mov edx, dword [ebp + 0x24]
mov edi, dword [ebp + 0x20]
mov eax, dword [esi + 0xc]
or edx, dword [esp + 0x4c]
not eax
or edi, dword [esp + 0x48]
and edx, eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esi + 8]
not ecx
mov dword [esi + 4], edx
and edi, ecx
mov dword [esi], edi
test al, 1
je 0x490fb9
mov eax, dword [ebp]
mov ebx, dword [esi + 0x24]
or ebx, 4
mov dword [esi + 0x24], ebx
test dword [eax + 4], 0x800
je 0x490f8e
mov ecx, dword [esp + 0x14]
mov eax, 0x2e
movzx eax, ax
jmp 0x4910d8
mov ecx, dword [eax + 0x14]
xor eax, eax
test ecx, ecx
je 0x490fad
mov ecx, dword [ecx]
test ecx, ecx
je 0x490fad
mov eax, ecx
cdq
push edx
push eax
call fcn.004233e0
add esp, 8
movzx eax, ax
mov ecx, dword [esp + 0x14]
movzx eax, ax
jmp 0x4910d8
test al, 0x82
je 0x491038
mov ebx, dword [esp + 0xd0]
mov ecx, dword [esp + 0x20]
mov edi, dword [esi + 0x24]
mov eax, dword [ebx + 4]
movsx edx, word [eax + ecx*2]
mov ecx, edi
or ecx, 1
mov dword [esi + 0x24], ecx
cmp edx, 0xffffffff
je 0x491006
mov ebx, ecx
test edx, edx
jle 0x49102f
cmp word [esp + 0x28], 0
jne 0x49102f
mov eax, dword [esp + 0xd0]
movzx eax, word [eax + 0x32]
dec eax
cmp dword [esp + 0x20], eax
jne 0x49102f
mov ebx, dword [esp + 0xd0]
test edx, edx
js 0x491024
test byte [ebx + 0x38], 8
jne 0x491024
mov ebx, ecx
mov ecx, dword [esp + 0x14]
or ebx, 0x10000
mov dword [esi + 0x24], ebx
jmp 0x4910d6
mov ebx, edi
or ebx, 0x1001
mov dword [esi + 0x24], ebx
mov ecx, dword [esp + 0x14]
jmp 0x4910d6
mov ebx, dword [esi + 0x24]
test eax, 0x100
je 0x491051
mov ecx, dword [esp + 0x14]
or ebx, 8
mov dword [esi + 0x24], ebx
jmp 0x4910d6
test al, 0x24
je 0x4910b1
or ebx, 0x22
mov dword [esp + 0x14], ebp
xor edi, edi
mov dword [esi + 0x24], ebx
mov eax, pe_nt_image_headers32
mov dword [esp + 0x24], edi
test word [ebp + 0x14], ax
je 0x4910ab
mov eax, dword [esp + 0x58]
lea edi, [ebp + 0x30]
mov ecx, dword [esp + 0x34]
mov edx, esi
movzx eax, ax
inc eax
mov dword [esp + 0x24], edi
push eax
call fcn.00490600
add esp, 4
test eax, eax
jne 0x491384
movzx ecx, word [esi + 0x28]
mov eax, dword [esi + 0x30]
mov dword [eax + ecx*4], edi
inc word [esi + 0x28]
or dword [esi + 0x24], 0x10
mov ebx, dword [esi + 0x24]
mov ecx, dword [esp + 0x14]
jmp 0x4910d6
or ebx, 0x12
mov dword [esp + 0x24], ebp
mov dword [esi + 0x24], ebx
test bl, 0x20
je 0x4910d0
mov eax, dword [esp + 0x5c]
movzx ecx, ax
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + ecx*4 - 8]
jmp 0x4910d2
xor ecx, ecx
mov dword [esp + 0x14], ecx
xor eax, eax
mov dword [esp + 0x18], eax
movzx edx, ax
test bl, 2
je 0x491179
movzx eax, word [esi + 0x16]
movsx edi, ax
test ecx, ecx
je 0x491103
movzx ecx, word [ecx + 0x10]
test cx, cx
jg 0x491100
add eax, ecx
jmp 0x491103
sub eax, 0x14
mov ebp, dword [esp + 0x24]
movzx ecx, ax
test ebp, ebp
je 0x491121
movzx ecx, word [ebp + 0x10]
test cx, cx
jg 0x49111b
add eax, ecx
jmp 0x49111e
add eax, 0xffffffec
movzx ecx, ax
mov eax, dword [esp + 0x14]
movzx edx, cx
test eax, eax
je 0x491144
cmp word [eax + 0x10], 0
jle 0x491144
test ebp, ebp
je 0x491144
cmp word [ebp + 0x10], 0
jle 0x491144
lea eax, [ecx - 0x14]
movzx edx, ax
xor eax, eax
cmp dword [esp + 0x14], eax
setne al
sub edi, eax
xor eax, eax
test ebp, ebp
setne al
sub edi, eax
cmp dx, 0xa
mov eax, 0xa
cmovl edx, eax
movzx eax, di
movsx ecx, dx
cmp ecx, edi
movzx edx, dx
cmovge edx, eax
movzx eax, dx
mov ebp, eax
jmp 0x4911dc
inc word [esi + 0x18]
movzx ecx, word [ebp + 0x10]
movzx edi, word [esi + 0x18]
test cx, cx
jg 0x4911ab
mov eax, dword [esp + 0xd0]
mov ebp, dword [esp + 0x20]
mov eax, dword [eax + 4]
cmp word [eax + ebp*2], 0
jl 0x4911ab
sub ecx, edx
add word [esi + 0x16], cx
movzx ebp, word [esi + 0x16]
jmp 0x4911e0
mov eax, dword [esp + 0xd0]
mov cx, word [esi + 0x16]
mov eax, dword [eax + 8]
sub cx, word [eax + edi*2 - 2]
add cx, word [eax + edi*2]
test dword [esp + 0x44], 0x100
movzx eax, cx
mov word [esi + 0x16], cx
movzx ebp, cx
je 0x4911e0
add eax, 0xa
movzx ebp, ax
mov word [esi + 0x16], ax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
movsx edi, word [eax + 0x28]
mov eax, dword [esp + 0xd0]
movsx ecx, word [eax + 0x30]
mov eax, ecx
shl eax, 4
sub eax, ecx
cdq
idiv edi
lea ecx, [eax + ebp]
lea eax, [ecx + 1]
movsx ecx, cx
movzx edi, ax
inc ecx
mov eax, dword [esp + 0x1c]
movsx edx, ax
cmp ax, di
jl 0x491244
lea eax, [ecx + 0x31]
cmp edx, eax
jle 0x491226
mov eax, dword [esp + 0x1c]
jmp 0x491267
lea eax, [ecx + 0x1f]
cmp edx, eax
jle 0x491234
mov eax, dword [esp + 0x1c]
inc eax
jmp 0x491267
sub edx, ecx
movzx eax, byte [edx + str._n_n_t_t_b_b_a_a_a]
add ax, word [esp + 0x1c]
jmp 0x491267
lea eax, [edx + 0x31]
cmp ecx, eax
jle 0x49124f
mov ecx, edi
jmp 0x49126a
lea eax, [edx + 0x1f]
cmp ecx, eax
jle 0x49125b
lea eax, [edi + 1]
jmp 0x491267
sub ecx, edx
movzx eax, byte [ecx + str._n_n_t_t_b_b_a_a_a]
add ax, di
movzx ecx, ax
movzx eax, cx
test ebx, 0x140
jne 0x4912d8
lea eax, [ebp + 0x10]
movsx edi, bp
movzx ebx, ax
add edi, 0x10
movsx edx, cx
cmp cx, bx
jl 0x4912af
lea eax, [edi + 0x31]
cmp edx, eax
jle 0x491295
movzx eax, cx
jmp 0x4912d5
lea eax, [edi + 0x1f]
cmp edx, eax
jle 0x4912a1
lea eax, [ecx + 1]
jmp 0x4912d2
sub edx, edi
movzx eax, byte [edx + str._n_n_t_t_b_b_a_a_a]
add ax, cx
jmp 0x4912d2
lea eax, [edx + 0x31]
cmp edi, eax
jle 0x4912ba
mov eax, ebx
jmp 0x4912d5
lea eax, [edx + 0x1f]
cmp edi, eax
jle 0x4912c6
lea eax, [ebx + 1]
jmp 0x4912d2
sub edi, edx
movzx eax, byte [edi + str._n_n_t_t_b_b_a_a_a]
add ax, bx
movzx eax, ax
movzx eax, ax
mov edi, dword [esp + 0x18]
mov edx, esi
mov ebx, dword [esp + 0x30]
add eax, edi
add eax, dword [esp + 0x28]
push dword [esp + 0x60]
mov word [esi + 0x14], ax
lea eax, [edi + ebp]
add eax, dword [esp + 0x2c]
mov ecx, dword [ebx + 4]
mov word [esi + 0x16], ax
call fcn.00490be0
add esp, 4
mov edx, esi
mov ecx, ebx
call fcn.004909a0
mov ecx, dword [esp + 0x64]
mov ebx, eax
mov eax, dword [esi + 0x24]
test al, 2
movzx edx, cx
movzx ecx, bp
cmove edx, ecx
mov dword [esp + 0x18], ebx
mov word [esi + 0x16], dx
test al, 0x10
jne 0x491360
mov ecx, dword [esp + 0xd0]
mov ax, word [esi + 0x18]
cmp ax, word [ecx + 0x34]
jae 0x49135c
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
add eax, edi
mov edi, ecx
mov ecx, dword [esp + 0x30]
push eax
push edi
call fcn.00490d60
add esp, 8
jmp 0x491367
mov edi, ecx
jmp 0x491367
mov edi, dword [esp + 0xd0]
mov eax, dword [esp + 0x38]
mov word [esi + 0x16], ax
lea ecx, [esp + 0x68]
call fcn.0048f000
mov ebp, eax
test ebx, ebx
je 0x490e78
jmp 0x491388
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
mov dword [esi], eax
mov eax, dword [esp + 0x4c]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esi + 0x24], eax
mov eax, dword [esp + 0x38]
mov word [esi + 0x18], cx
mov word [esi + 0x2a], bp
mov word [esi + 0x16], ax
mov word [esi + 0x28], dx
cmp cx, bp
jne 0x49147b
mov ebp, dword [esp + 0xd0]
mov edi, dword [esp + 0x20]
movzx ecx, word [ebp + 0x32]
lea eax, [edi + 1]
cmp eax, ecx
jae 0x49147b
test byte [ebp + 0x38], 0x40
jne 0x49147b
mov eax, dword [ebp + 8]
cmp word [eax + edi*2 + 2], 0x2a
jl 0x49147b
mov ecx, dword [esp + 0x34]
movzx eax, dx
mov edx, esi
inc eax
push eax
call fcn.00490600
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x49147b
movzx ecx, word [esi + 0x28]
mov eax, dword [esi + 0x30]
inc word [esi + 0x18]
inc word [esi + 0x2a]
mov edx, dword [esp + 0x2c]
mov dword [eax + ecx*4], ebx
inc word [esi + 0x28]
or dword [esi + 0x24], 0x8000
mov eax, dword [ebp + 8]
mov cx, word [eax + edi*2]
sub cx, word [eax + edi*2 + 2]
movzx eax, cx
mov ecx, dword [esp + 0x28]
sub word [esi + 0x16], ax
add ecx, 5
add eax, ecx
mov ecx, dword [esp + 0x30]
push eax
push ebp
call fcn.00490d60
mov eax, dword [esp + 0x40]
add esp, 8
mov word [esi + 0x16], ax
mov eax, dword [esp + 0x3c]
mov word [esi + 0x18], ax
mov eax, dword [esp + 0x54]
mov word [esi + 0x2a], ax
mov eax, dword [esp + 0x40]
mov dword [esi + 0x24], eax
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0xbc
ret