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

Disassembly:
mov ecx, dword [0x5efcb0]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xd4]
cmp eax, dword [ecx + 8]
jbe 0x491d5c
sub esp, 0x154
mov eax, dword [esp + 0x15c]
mov edx, dword [esp + 0x160]
test eax, eax
sete al
test edx, edx
sete dl
and edx, eax
test dl, dl
jne 0x490f21
jmp 0x490f48
mov eax, dword [esp + 0x158]
test byte [eax], al
mov dword [eax + 0xc], 0
mov eax, dword [esp + 0x158]
test byte [eax], al
mov dword [eax + 0x10], 0
add esp, 0x154
ret
mov eax, dword [esp + 0x164]
test eax, eax
setle al
mov byte [esp + 0x39], al
jle 0x490f5c
jmp 0x490fa7
mov eax, dword [esp + 0x15c]
mov edx, dword [esp + 0x160]
bsf ebx, eax
jne 0x490f74
mov ebx, 0x20
bsf edx, edx
jne 0x490f7e
mov edx, 0x20
cmp eax, 1
sbb eax, eax
xor eax, 0xffffffff
not eax
and eax, edx
add eax, ebx
mov dword [esp + 0x108], eax
mov edx, dword [esp + 0x164]
neg edx
cmp edx, eax
setle al
mov byte [esp + 0x39], al
jmp 0x490fa9
jmp 0x490fa9
movzx eax, byte [esp + 0x39]
test al, al
jne 0x490fb7
jmp 0x49105e
mov eax, dword [esp + 0x160]
mov edx, dword [esp + 0x15c]
mov ebx, dword [esp + 0x164]
lea ecx, [ebx + 0x20]
neg ecx
mov ebp, eax
shr eax, cl
neg ebx
mov esi, ecx
mov ecx, ebx
shr edx, cl
mov dword [esp + 0xd0], edx
mov edi, ebp
shr ebp, cl
lea edx, [ecx - 0x20]
neg edx
mov ecx, edx
shl edi, cl
cmp ecx, 0x20
sbb edx, edx
and edi, edx
cmp ebx, 0x20
sbb edx, edx
and ebp, edx
cmp esi, 0x20
sbb edx, edx
and eax, edx
cmp ebx, 0x20
sbb edx, edx
mov ebx, dword [esp + 0xd0]
and ebx, edx
or ebx, edi
or ebx, eax
mov dword [esp + 0x15c], ebx
mov dword [esp + 0x160], ebp
mov eax, dword [esp + 0x158]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebp
mov byte [esp + 0x1c], 1
mov byte [esp + 0x1d], 0
call fcn.00491fc0
add esp, 0x154
ret
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x15c]
mov edx, dword [esp + 0x164]
mov ebx, dword [esp + 0x160]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
call fcn.00491df0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x100], edx
mov dword [esp + 0x104], edi
mov dword [esp + 0xf8], ecx
mov dword [esp + 0xfc], ebp
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], esi
mov dword [esp + 0x108], ebx
mov edx, dword [esp + 0x100]
mov ebx, dword [esp + 0x104]
mov dword [esp + 0xb0], edx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], ebp
mov dword [esp + 0x14c], eax
mov dword [esp + 0x150], esi
mov edx, dword [esp + 0x108]
mov dword [esp + 0x148], edx
mov edx, dword [esp + 0xb0]
mov ebx, dword [esp + 0xb4]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], ebp
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], esi
mov ecx, dword [esp + 0x148]
mov dword [esp + 0x80], ecx
test ecx, ecx
je 0x49115b
jmp 0x49119f
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x50]
mov edi, dword [esp + 0x158]
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], esi
mov byte [esp + 0x1c], 1
mov byte [esp + 0x1d], 0
call fcn.00491fc0
add esp, 0x154
ret
neg ecx
mov dword [esp], ecx
call fcn.00491d70
mov eax, dword [esp + 4]
mov dword [esp + 0x108], eax
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov byte [esp + 0x32], 0
mov byte [esp + 0x33], 0
mov byte [esp + 0x31], 0
mov eax, dword [esp + 0x168]
lea ecx, [0x5c5358]
cmp eax, ecx
je 0x491220
jmp 0x4913f1
mov dword [esp + 0x90], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x84], 0
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x4c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00492830
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + 0x14]
mov dword [esp + 0xec], ecx
mov dword [esp + 0x108], eax
mov byte [esp + 0x39], dl
mov ecx, dword [esp + 0xec]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x140], eax
movzx eax, byte [esp + 0x39]
mov byte [esp + 0x3f], al
mov eax, dword [esp + 0x144]
mov dword [esp + 0x90], eax
movzx eax, byte [esp + 0x3f]
mov byte [esp + 0x32], al
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x54]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00492830
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + 0x14]
mov dword [esp + 0xec], ecx
mov dword [esp + 0x108], eax
mov byte [esp + 0x39], dl
mov ecx, dword [esp + 0xec]
mov dword [esp + 0x13c], ecx
mov dword [esp + 0x138], eax
movzx eax, byte [esp + 0x39]
mov byte [esp + 0x3e], al
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x9c], eax
movzx eax, byte [esp + 0x3e]
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x44]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00492830
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + 0x14]
mov dword [esp + 0xec], ecx
mov dword [esp + 0x108], eax
mov byte [esp + 0x39], dl
mov ecx, dword [esp + 0xec]
mov dword [esp + 0x134], ecx
mov dword [esp + 0x130], eax
movzx ecx, byte [esp + 0x39]
mov byte [esp + 0x3d], cl
mov ecx, dword [esp + 0x134]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x80], eax
movzx eax, byte [esp + 0x3d]
mov byte [esp + 0x31], al
mov eax, dword [esp + 0x90]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], 0
mov eax, dword [esp + 0x9c]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], 0
mov eax, dword [esp + 0x84]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], 0
jmp 0x4915e0
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x50]
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 + 0xf0], ecx
mov dword [esp + 0xf4], ebx
mov dword [esp + 0x108], eax
mov byte [esp + 0x39], dl
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xf4]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], edx
mov dword [esp + 0x124], eax
movzx eax, byte [esp + 0x39]
mov byte [esp + 0x3c], al
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x12c]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
movzx eax, byte [esp + 0x3c]
mov byte [esp + 0x32], al
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x58]
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 + 0xf0], ecx
mov dword [esp + 0xf4], ebx
mov dword [esp + 0x108], eax
mov byte [esp + 0x39], dl
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xf4]
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x120], edx
mov dword [esp + 0x118], eax
movzx eax, byte [esp + 0x39]
mov byte [esp + 0x3b], al
mov eax, dword [esp + 0x11c]
mov ecx, dword [esp + 0x120]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], ecx
movzx eax, byte [esp + 0x3b]
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x48]
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 + 0xf0], ecx
mov dword [esp + 0xf4], ebx
mov dword [esp + 0x108], eax
mov byte [esp + 0x39], dl
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xf4]
mov dword [esp + 0x110], ecx
mov dword [esp + 0x114], edx
mov dword [esp + 0x10c], eax
movzx ecx, byte [esp + 0x39]
mov byte [esp + 0x3a], cl
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x114]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x80], eax
movzx eax, byte [esp + 0x3a]
mov byte [esp + 0x31], al
jmp 0x4915e0
mov eax, dword [esp + 0x80]
test eax, eax
jge 0x491d43
jmp 0x4915f1
cmp dword [esp + 0x40], 0x37
jg 0x4915fa
jmp 0x49160b
mov byte [esp + 0x32], 0
mov byte [esp + 0x33], 0
mov byte [esp + 0x31], 0
jmp 0x49160d
jmp 0x49160d
mov eax, dword [esp + 0x40]
test eax, eax
setl al
mov byte [esp + 0x39], al
jl 0x49161e
jmp 0x49162c
cmp dword [esp + 0x40], 0xffffffe8
setge al
mov byte [esp + 0x39], al
jmp 0x49162e
jmp 0x49162e
movzx eax, byte [esp + 0x39]
test al, al
jne 0x49163c
jmp 0x4916e0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x40]
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 + 0x39], al
test al, al
jne 0x491669
jmp 0x491670
mov byte [esp + 0x32], 1
jmp 0x491672
jmp 0x491672
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x40]
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 + 0x39], al
test al, al
jne 0x49169f
jmp 0x4916a6
mov byte [esp + 0x33], 1
jmp 0x4916a8
jmp 0x4916a8
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x40]
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 + 0x39], al
test al, al
jne 0x4916d5
jmp 0x4916dc
mov byte [esp + 0x31], 1
jmp 0x4916de
jmp 0x4916de
jmp 0x4916e2
jmp 0x4916e2
mov ecx, dword [esp + 0x80]
neg ecx
mov dword [esp + 0x7c], 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 edx, 0x20
sbb edx, edx
and ebp, edx
cmp ebx, 0x20
sbb edx, edx
and eax, edx
cmp ecx, 0x20
sbb edx, edx
and edi, edx
or ebp, edi
add eax, 0xffffffff
mov dword [esp + 0xd0], eax
mov dword [esp + 0x74], eax
adc ebp, 0xffffffff
mov dword [esp + 0xcc], ebp
mov dword [esp + 0x78], ebp
mov edx, dword [esp + 0x94]
and edx, eax
mov dword [esp + 0xc8], edx
mov ebx, dword [esp + 0x98]
mov dword [esp + 0xe4], edx
and ebx, ebp
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xe8], ebx
mov esi, dword [esp + 0x98]
mov dword [esp + 0xc0], esi
mov edi, dword [esp + 0x94]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0xbc], ecx
shr edi, cl
shr esi, cl
mov dword [esp + 0xb8], esi
lea ebp, [ecx - 0x20]
mov ecx, ebp
mov eax, dword [esp + 0xc0]
shr eax, cl
mov ebx, dword [esp + 0xbc]
lea edx, [ebx - 0x20]
neg edx
mov ecx, edx
mov esi, dword [esp + 0xc0]
shl esi, cl
cmp ebp, 0x20
sbb ebp, ebp
and eax, ebp
cmp ecx, 0x20
sbb edx, edx
and esi, edx
cmp ebx, 0x20
sbb edx, edx
and edi, edx
or edi, esi
or edi, eax
mov dword [esp + 0x94], edi
cmp ebx, 0x20
sbb eax, eax
mov edx, dword [esp + 0xb8]
and edx, eax
mov dword [esp + 0x98], edx
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0xa0]
mov edx, dword [esp + 0xd0]
and eax, edx
mov dword [esp + 0xd0], eax
mov edx, dword [esp + 0xa4]
mov dword [esp + 0xdc], eax
mov ebx, dword [esp + 0xcc]
and edx, ebx
mov dword [esp + 0xc8], edx
mov dword [esp + 0xe0], edx
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0xc4], ebx
mov ebp, dword [esp + 0xa0]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0xbc], ecx
shr ebp, cl
mov esi, ebx
shr ebx, cl
mov dword [esp + 0xc0], ebx
lea edi, [ecx - 0x20]
mov ecx, edi
shr esi, cl
mov edx, dword [esp + 0xbc]
lea eax, [edx - 0x20]
neg eax
mov ecx, eax
mov ebx, dword [esp + 0xc4]
shl ebx, cl
cmp edi, 0x20
sbb edi, edi
and esi, edi
cmp eax, 0x20
sbb eax, eax
and ebx, eax
cmp edx, 0x20
sbb eax, eax
and ebp, eax
or ebp, ebx
or ebp, esi
mov dword [esp + 0xa0], ebp
cmp edx, 0x20
sbb eax, eax
mov edx, dword [esp + 0xc0]
and edx, eax
mov dword [esp + 0xa4], edx
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x88]
and eax, dword [esp + 0x74]
mov dword [esp + 0xd0], eax
mov edx, dword [esp + 0x8c]
and edx, dword [esp + 0x78]
mov dword [esp + 0xc8], edx
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], edx
mov ebx, dword [esp + 0x8c]
mov dword [esp + 0xc4], ebx
mov ebp, dword [esp + 0x88]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0xbc], ecx
shr ebp, cl
mov esi, ebx
shr ebx, cl
lea edi, [ecx - 0x20]
mov ecx, edi
shr esi, cl
mov dword [esp + 0xc0], esi
mov edx, dword [esp + 0xbc]
lea eax, [edx - 0x20]
neg eax
mov ecx, eax
mov esi, dword [esp + 0xc4]
shl esi, cl
cmp eax, 0x20
sbb eax, eax
and esi, eax
cmp edx, 0x20
sbb eax, eax
and ebp, eax
or ebp, esi
cmp edx, 0x20
sbb eax, eax
and ebx, eax
cmp edi, 0x20
sbb eax, eax
mov edx, dword [esp + 0xc0]
and edx, eax
or ebp, edx
mov dword [esp + 0x88], ebp
mov dword [esp + 0x8c], ebx
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x60], eax
movzx eax, byte [esp + 0x31]
mov edx, eax
xor eax, 1
mov byte [esp + 0x39], al
test dl, dl
jne 0x4919bc
jmp 0x4919dd
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
test edx, edx
seta dl
test eax, eax
sete bl
and ebx, edx
test eax, eax
seta al
or eax, ebx
mov byte [esp + 0x39], al
jmp 0x4919df
jmp 0x4919df
movzx eax, byte [esp + 0x39]
mov byte [esp + 0x2f], al
movzx eax, byte [esp + 0x31]
mov byte [esp + 0x39], al
test al, al
jne 0x4919f7
jmp 0x491a11
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
test eax, eax
sete al
test edx, edx
sete dl
and edx, eax
mov byte [esp + 0x39], dl
jmp 0x491a13
jmp 0x491a13
movzx eax, byte [esp + 0x39]
test al, al
jne 0x491a1e
jmp 0x491a36
mov eax, dword [esp + 0x15c]
test eax, 1
sete al
and eax, 1
mov byte [esp + 0x2f], al
jmp 0x491a38
jmp 0x491a38
movzx eax, byte [esp + 0x2f]
test al, al
jne 0x491a43
jmp 0x491a45
jmp 0x491a69
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
add eax, 0xffffffff
mov dword [esp + 0x88], eax
adc edx, 0xffffffff
mov dword [esp + 0x8c], edx
jmp 0x491a69
mov byte [esp + 0x34], 0
movzx eax, byte [esp + 0x33]
test al, al
jne 0x491a7c
jmp 0x491b7b
mov eax, dword [esp + 0x70]
mov dword [esp + 0xd0], eax
mov edx, dword [esp + 0x7c]
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 esi, 0x20
sbb esi, esi
and ebx, esi
cmp ecx, 0x20
sbb edx, edx
and eax, edx
cmp dword [esp + 0x6c], eax
seta al
cmp ebp, 0x20
sbb edx, edx
and edi, edx
or edi, ebx
mov edx, dword [esp + 0xd0]
cmp edx, edi
sete bl
and ebx, eax
cmp edx, edi
seta al
or eax, ebx
mov byte [esp + 0x39], al
test al, al
jne 0x491af0
jmp 0x491af2
jmp 0x491b70
mov eax, dword [esp + 0x7c]
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 + 0x6c], 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 + 0x6c]
cmp dword [edx + 4], esi
sete dl
and edx, eax
mov byte [esp + 0x38], dl
test dl, dl
jne 0x491b4e
jmp 0x491b63
mov eax, dword [esp + 0xa0]
test eax, 1
setne al
mov byte [esp + 0x38], al
jmp 0x491b65
jmp 0x491b65
movzx eax, byte [esp + 0x38]
mov byte [esp + 0x39], al
jmp 0x491b70
movzx eax, byte [esp + 0x39]
mov byte [esp + 0x34], al
jmp 0x491bf1
mov eax, dword [esp + 0x70]
mov dword [esp + 0xd0], eax
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x7c]
lea ecx, [ebx - 0x21]
mov ebp, eax
shr eax, cl
mov dword [esp + 0xc8], eax
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
mov eax, dword [esp + 0xd0]
shr eax, cl
shr edx, cl
cmp esi, 0x20
sbb esi, esi
and ebp, esi
cmp ecx, 0x20
sbb esi, esi
cmp ecx, 0x20
sbb ebx, ebx
and edx, ebx
or edx, ebp
cmp edi, 0x20
sbb ebx, ebx
mov ebp, dword [esp + 0xc8]
and ebp, ebx
or edx, ebp
test esi, eax
sete al
cmp edx, 1
sete dl
and eax, edx
mov byte [esp + 0x34], al
jmp 0x491bf1
movzx eax, byte [esp + 0x32]
mov byte [esp + 0x38], al
test al, al
jne 0x491c00
jmp 0x491c1a
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
test eax, eax
sete al
test ecx, ecx
sete cl
and ecx, eax
mov byte [esp + 0x38], cl
jmp 0x491c1c
jmp 0x491c1c
movzx eax, byte [esp + 0x38]
mov byte [esp + 0x39], al
test al, al
jne 0x491c2b
jmp 0x491c43
mov eax, dword [esp + 0x15c]
test eax, 1
sete al
and eax, 1
mov byte [esp + 0x39], al
jmp 0x491c45
jmp 0x491c45
movzx eax, byte [esp + 0x39]
mov byte [esp + 0x30], al
test al, al
jne 0x491c54
jmp 0x491c56
jmp 0x491c7a
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
add eax, 1
mov dword [esp + 0x94], eax
adc ecx, 0
mov dword [esp + 0x98], ecx
jmp 0x491c7a
movzx eax, byte [esp + 0x33]
mov byte [esp + 0x38], al
test al, al
jne 0x491c89
jmp 0x491ca3
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
test eax, eax
sete al
test ecx, ecx
sete cl
and ecx, eax
mov byte [esp + 0x38], cl
jmp 0x491ca5
jmp 0x491ca5
movzx eax, byte [esp + 0x38]
mov byte [esp + 0x37], al
mov byte [esp + 0x35], al
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0xa0]
mov ebx, dword [esp + 0x88]
movzx ebp, byte [esp + 0x34]
xchg ebp, eax
mov byte [esp + 0x36], al
xchg ebp, eax
mov esi, dword [esp + 0x98]
mov edi, dword [esp + 0xa4]
mov ebp, dword [esp + 0x8c]
mov eax, dword [esp + 0x158]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebp
movzx eax, byte [esp + 0x37]
mov byte [esp + 0x1c], al
movzx eax, byte [esp + 0x36]
mov byte [esp + 0x1d], al
call fcn.00491fc0
mov eax, dword [esp + 0x158]
test byte [eax], al
mov ecx, dword [esp + 0x158]
test byte [ecx], al
mov ecx, dword [ecx + 0x10]
sub ecx, dword [esp + 0x40]
mov dword [eax + 0x10], ecx
add esp, 0x154
ret
lea eax, [0x5115e0]
mov dword [esp], eax
lea eax, [0x53a8d8]
mov dword [esp + 4], eax
call fcn.0046fd20
nop
call fcn.004743b0
jmp fcn.00490ee0