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

Disassembly:
mov ecx, dword [0x5efcb0]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x10]
cmp eax, dword [ecx + 8]
jbe 0x4906ac
sub esp, 0x90
cmp dword [esp + 0xa4], 0x12
jg 0x490693
jmp 0x49007e
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
test eax, eax
sete al
test ecx, ecx
sete cl
and ecx, eax
test cl, cl
jne 0x49009e
jmp 0x4900c5
mov eax, dword [esp + 0x94]
test byte [eax], al
mov dword [eax + 0xc], 0
mov eax, dword [esp + 0x94]
test byte [eax], al
mov dword [eax + 0x10], 0
add esp, 0x90
ret
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0048b220
mov eax, dword [esp + 8]
mov dword [esp + 0x50], eax
cmp eax, 0x37
jl 0x4900fc
jmp 0x490183
mov dword [esp + 0x6c], eax
mov edx, dword [esp + 0x98]
mov dword [esp + 0x68], edx
mov ebx, dword [esp + 0x9c]
lea ecx, [eax - 0x37]
neg ecx
mov dword [esp + 0x64], ecx
shl ebx, cl
mov dword [esp + 0x60], ebx
mov ebp, edx
shl edx, cl
lea esi, [ecx - 0x20]
mov edi, ecx
mov ecx, esi
shl ebp, cl
lea eax, [edi - 0x20]
neg eax
mov ecx, eax
mov ebx, dword [esp + 0x68]
shr ebx, cl
cmp edi, 0x20
sbb edi, edi
and edx, edi
mov dword [esp + 0x98], edx
cmp eax, 0x20
sbb eax, eax
and ebx, eax
cmp esi, 0x20
sbb eax, eax
and ebp, eax
mov eax, dword [esp + 0x64]
cmp eax, 0x20
sbb eax, eax
mov edx, dword [esp + 0x60]
and edx, eax
or edx, ebx
or edx, ebp
mov dword [esp + 0x9c], edx
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x6c]
lea eax, [edx + eax - 0x37]
mov dword [esp + 0x38], eax
jmp 0x490185
jmp 0x490185
mov eax, dword [esp + 0x38]
add eax, 0x36
mov dword [esp], eax
call fcn.00491d70
mov eax, dword [esp + 4]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0xa4]
sub ecx, eax
lea eax, [ecx - 1]
mov dword [esp + 0x28], eax
cmp eax, 0x37
setle al
mov byte [esp + 0x26], al
jle 0x4901bd
jmp 0x4901cc
mov eax, dword [esp + 0x28]
test eax, eax
setge al
mov byte [esp + 0x26], al
jmp 0x4901ce
jmp 0x4901ce
movzx eax, byte [esp + 0x26]
mov byte [esp + 0x21], al
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x9c]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
call fcn.00492a00
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
movzx edx, byte [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], eax
mov byte [esp + 0x26], dl
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x84], eax
movzx ecx, byte [esp + 0x26]
mov byte [esp + 0x27], cl
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
mov dword [esp + 0x4c], eax
movzx eax, byte [esp + 0x27]
mov byte [esp + 0x22], al
mov eax, dword [esp + 0x4c]
test eax, eax
jge 0x49067b
jmp 0x49027c
mov eax, dword [esp + 0x28]
test eax, eax
setl al
mov byte [esp + 0x25], al
jl 0x49028d
jmp 0x49029b
cmp dword [esp + 0x28], 0xffffffea
setge al
mov byte [esp + 0x25], al
jmp 0x49029d
jmp 0x49029d
movzx eax, byte [esp + 0x25]
mov byte [esp + 0x26], al
test al, al
jne 0x4902ac
jmp 0x4902df
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x28]
mov dword [esp], eax
mov dword [esp + 4], ecx
neg edx
mov dword [esp + 8], edx
call fcn.00492dc0
movzx eax, byte [esp + 0xc]
mov byte [esp + 0x24], al
mov byte [esp + 0x26], al
jmp 0x4902e1
jmp 0x4902e1
movzx eax, byte [esp + 0x26]
test al, al
jne 0x4902ec
jmp 0x4902f8
mov byte [esp + 0x21], 1
mov byte [esp + 0x22], 1
jmp 0x4902fa
jmp 0x4902fa
mov ecx, dword [esp + 0x4c]
neg ecx
mov dword [esp + 0x34], ecx
mov eax, 1
shl eax, cl
lea edx, [ecx - 0x20]
neg edx
mov ebx, ecx
mov ecx, edx
mov ebp, 1
shr ebp, cl
lea esi, [ebx - 0x20]
mov ecx, esi
mov edi, 1
shl edi, cl
cmp ebx, 0x20
sbb ebx, ebx
and eax, ebx
cmp ecx, 0x20
sbb ebx, ebx
and edi, ebx
cmp edx, 0x20
sbb edx, edx
and ebp, edx
or ebp, edi
add eax, 0xffffffff
mov dword [esp + 0x2c], eax
adc ebp, 0xffffffff
mov dword [esp + 0x30], ebp
mov edx, dword [esp + 0x3c]
and edx, eax
mov dword [esp + 0x68], edx
mov eax, dword [esp + 0x40]
mov dword [esp + 0x70], edx
and eax, ebp
mov dword [esp + 0x60], eax
mov dword [esp + 0x74], eax
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x5c], ebx
mov ebp, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x58], ecx
shr ebp, cl
mov esi, ebx
shr ebx, cl
lea edi, [ecx - 0x20]
mov ecx, edi
shr esi, cl
mov dword [esp + 0x54], esi
mov eax, dword [esp + 0x58]
lea edx, [eax - 0x20]
neg edx
mov ecx, edx
mov esi, dword [esp + 0x5c]
shl esi, cl
cmp ecx, 0x20
sbb edx, edx
and esi, edx
cmp eax, 0x20
sbb edx, edx
and ebp, edx
or ebp, esi
cmp eax, 0x20
sbb eax, eax
and ebx, eax
cmp edi, 0x20
sbb eax, eax
mov edx, dword [esp + 0x54]
and edx, eax
or ebp, edx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], ebx
mov eax, dword [esp + 0x68]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x48], eax
mov byte [esp + 0x20], 0
movzx eax, byte [esp + 0x21]
test al, al
jne 0x4903ed
jmp 0x49058a
mov eax, dword [esp + 0x48]
mov dword [esp + 0x68], eax
mov edx, dword [esp + 0x34]
lea ecx, [edx - 0x21]
mov ebx, 1
shl ebx, cl
lea ebp, [edx - 0x21]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov esi, ecx
mov ecx, ebp
mov edi, 1
shr edi, cl
dec edx
mov ecx, edx
mov eax, 1
shl eax, cl
cmp ecx, 0x20
sbb edx, edx
and eax, edx
cmp dword [esp + 0x44], eax
seta al
cmp esi, 0x20
sbb edx, edx
and ebx, edx
cmp ebp, 0x20
sbb edx, edx
and edi, edx
or edi, ebx
mov edx, dword [esp + 0x68]
cmp edx, edi
seta bl
cmp edx, edi
sete dl
and edx, eax
or ebx, edx
mov byte [esp + 0x26], bl
test bl, bl
jne 0x49045b
jmp 0x49045d
jmp 0x4904d4
mov eax, dword [esp + 0x34]
lea ecx, [eax - 0x21]
mov edx, 1
shl edx, cl
lea ebx, [eax - 0x21]
neg ebx
mov ebp, ecx
mov ecx, ebx
mov esi, 1
shr esi, cl
dec eax
mov ecx, eax
mov edi, 1
shl edi, cl
cmp eax, 0x20
sbb eax, eax
and edi, eax
cmp dword [esp + 0x44], edi
sete al
cmp ebp, 0x20
sbb ebp, ebp
and edx, ebp
cmp ebx, 0x20
sbb ebx, ebx
and esi, ebx
or esi, edx
lea edx, [esp + 0x44]
cmp dword [edx + 4], esi
sete dl
and edx, eax
mov byte [esp + 0x24], dl
test dl, dl
jne 0x4904b9
jmp 0x4904c7
movzx eax, byte [esp + 0x22]
xor eax, 1
mov byte [esp + 0x24], al
jmp 0x4904c9
jmp 0x4904c9
movzx eax, byte [esp + 0x24]
mov byte [esp + 0x26], al
jmp 0x4904d4
movzx eax, byte [esp + 0x26]
mov byte [esp + 0x25], al
test al, al
jne 0x4904e3
jmp 0x4904e8
jmp 0x49057f
mov eax, dword [esp + 0x34]
lea ecx, [eax - 0x21]
mov edx, 1
shl edx, cl
lea ebx, [eax - 0x21]
neg ebx
mov ebp, ecx
mov ecx, ebx
mov esi, 1
shr esi, cl
dec eax
mov ecx, eax
mov edi, 1
shl edi, cl
cmp eax, 0x20
sbb eax, eax
and edi, eax
cmp dword [esp + 0x44], edi
sete al
cmp ebp, 0x20
sbb ebp, ebp
and edx, ebp
cmp ebx, 0x20
sbb ebx, ebx
and esi, ebx
or esi, edx
lea edx, [esp + 0x44]
cmp dword [edx + 4], esi
sete dl
and edx, eax
mov byte [esp + 0x23], dl
test dl, dl
jne 0x490544
jmp 0x49054f
movzx eax, byte [esp + 0x22]
mov byte [esp + 0x23], al
jmp 0x490551
jmp 0x490551
movzx eax, byte [esp + 0x23]
mov byte [esp + 0x24], al
test al, al
jne 0x490560
jmp 0x490572
mov eax, dword [esp + 0x3c]
test eax, 1
setne al
mov byte [esp + 0x24], al
jmp 0x490574
jmp 0x490574
movzx eax, byte [esp + 0x24]
mov byte [esp + 0x25], al
jmp 0x49057f
movzx eax, byte [esp + 0x25]
mov byte [esp + 0x20], al
jmp 0x4905f4
mov eax, dword [esp + 0x48]
mov dword [esp + 0x68], eax
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x34]
lea ecx, [ebx - 0x21]
mov ebp, eax
shr eax, cl
lea esi, [ebx - 0x21]
xchg esi, ebx
neg ebx
xchg esi, ebx
mov edi, ecx
mov ecx, esi
shl ebp, cl
dec ebx
mov ecx, ebx
shr edx, cl
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x68]
shr edx, cl
cmp edi, 0x20
sbb edi, edi
and eax, edi
cmp esi, 0x20
sbb esi, esi
and ebp, esi
cmp ecx, 0x20
sbb esi, esi
mov edi, dword [esp + 0x60]
and edi, esi
or edi, ebp
or edi, eax
cmp ecx, 0x20
sbb eax, eax
test eax, edx
sete al
cmp edi, 1
sete dl
and eax, edx
mov byte [esp + 0x20], al
jmp 0x4905f4
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
test ecx, ecx
setne cl
test eax, eax
setne al
or ecx, eax
test cl, cl
jne 0x49060e
jmp 0x490615
mov byte [esp + 0x22], 0
jmp 0x490617
jmp 0x490617
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0xa4]
movzx edx, byte [esp + 0x20]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x94]
movzx esi, byte [esp + 0x22]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
xor esi, 1
xchg esi, eax
mov byte [esp + 0xc], al
xchg esi, eax
mov byte [esp + 0xd], dl
mov dword [esp + 0x10], ecx
call fcn.004906c0
mov eax, dword [esp + 0x94]
test byte [eax], al
mov ecx, dword [esp + 0x94]
test byte [ecx], al
mov ecx, dword [ecx + 0x10]
sub ecx, dword [esp + 0x28]
mov dword [eax + 0x10], ecx
add esp, 0x90
ret
lea eax, [0x5115e0]
mov dword [esp], eax
lea eax, [0x53a8d8]
mov dword [esp + 4], eax
call fcn.0046fd20
lea eax, [0x5115e0]
mov dword [esp], eax
lea eax, [0x53a8d0]
mov dword [esp + 4], eax
call fcn.0046fd20
nop
call fcn.004743b0
jmp fcn.00490050