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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x58]
cmp eax, dword [ecx + 8]
jbe 0x49dc93
sub esp, 0xd8
mov edx, dword [esp + 0xdc]
mov ebx, dword [edx]
test ebx, ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov edi, dword [edx + 4]
test edi, edi
mov eax, edx
sete dl
and edx, ebp
test dl, dl
jne 0x49dbdd
mov edx, dword [esp + 0xe4]
test edx, edx
je 0x49dc7a
cmp edi, 1
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov ecx, edx
seta dl
nop
nop
and ebp, 1
or edx, ebp
test dl, dl
je 0x49dbd0
mov edx, edi
xor ebp, ebp
mov esi, 0x20
mov dword [esp + 0x98], ebx
mov dword [esp + 0x94], edx
mov dword [esp + 0x2c], ebp
test ebp, ebp
seta dl
cmp edi, 0x10000
setae bl
test ebp, ebp
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebx, ebp
or ebx, edx
test bl, bl
je 0x49dbc7
shr edi, 0x10
mov ebp, dword [esp + 0x2c]
mov edx, ebp
shl ebp, 0x10
or edi, ebp
shr edx, 0x10
add esi, 0x10
mov dword [esp + 0x2c], edx
cmp edi, 0x100
setae bl
test edx, edx
xchg ebp, ebx
sete bl
xchg ebp, ebx
seta dl
and ebx, ebp
or ebx, edx
test bl, bl
je 0x49dbbe
shr edi, 8
mov edx, dword [esp + 0x2c]
mov ebx, edx
shl edx, 0x18
or edi, edx
shr ebx, 8
add esi, 8
test ebx, ebx
jne 0x49dc6c
cmp edi, 0x100
jae 0x49dc60
mov dword [esp + 0x50], esi
lea edx, [0x6e2360]
movzx edx, byte [edx + edi]
mov dword [esp + 0x90], edx
lea ecx, [edx + esi - 0x40]
neg ecx
mov dword [esp + 0x30], ecx
cmp ecx, 0x20
sbb ebx, ebx
mov ebp, dword [esp + 0x98]
mov edi, ebp
shl ebp, cl
and ebp, ebx
mov dword [eax], ebp
lea ebp, [ecx - 0x20]
mov dword [esp + 0x98], ebp
cmp ebp, 0x20
sbb edx, edx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
cmp ebp, 0x20
sbb esi, esi
mov ecx, ebp
mov ebp, edi
shr edi, cl
mov ecx, dword [esp + 0x98]
shl ebp, cl
and ebp, edx
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x94]
shl edx, cl
and edi, esi
and edx, ebx
or edx, edi
or edx, ebp
mov dword [eax + 4], edx
mov edx, dword [eax + 8]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x90]
add ebx, ebp
lea edx, [edx + ebx - 0x40]
mov dword [eax + 8], edx
mov dword [esp], eax
call fcn.0049d270
mov eax, dword [esp + 0xdc]
mov ecx, dword [eax + 8]
neg ecx
mov dword [esp + 0x90], ecx
cmp ecx, 0x20
sbb edx, edx
mov dword [esp + 0x98], edx
lea ebx, [ecx - 0x20]
mov dword [esp + 0x94], ebx
cmp ebx, 0x20
sbb ebp, ebp
mov dword [esp + 0x8c], ebp
mov esi, ebx
neg ebx
cmp ebx, 0x20
sbb edi, edi
mov dword [esp + 0x88], edi
mov ebp, dword [eax + 4]
mov dword [esp + 0x84], ebp
mov eax, dword [eax]
mov dword [esp + 0x80], eax
shr eax, cl
and eax, edx
mov ecx, ebx
shl ebp, cl
and ebp, edi
or eax, ebp
mov ecx, esi
mov ebp, dword [esp + 0x84]
shr ebp, cl
mov edi, dword [esp + 0x8c]
and ebp, edi
or eax, ebp
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x90]
mov ebp, eax
shl eax, cl
and eax, edx
mov edx, dword [esp + 0x80]
sub edx, eax
mov dword [esp + 0x58], edx
mov ecx, esi
shl ebp, cl
and ebp, edi
mov ecx, ebx
mov edi, dword [esp + 0x7c]
shr edi, cl
mov ebx, dword [esp + 0x88]
and edi, ebx
or edi, ebp
mov ebp, dword [esp + 0x80]
sub ebp, eax
mov eax, dword [esp + 0x84]
sbb eax, edi
mov ebp, dword [esp + 4]
mov dword [esp + 0x60], ebp
mov edi, dword [esp + 0x7c]
mov dword [esp + 0xac], eax
xor eax, eax
mov dword [esp + 0x54], eax
xor eax, eax
mov dword [esp + 0x44], eax
mov eax, 1
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xac]
jmp 0x49d6f9
mov edx, eax
mov eax, 0xa
mov ebx, edx
mul ebp
mov ebp, dword [esp + 0x54]
inc ebp
mov esi, dword [esp + 0x44]
lea esi, [esi + esi*4]
lea edx, [edx + esi*2]
mov esi, dword [esp + 0x94]
mov dword [esp + 0x54], ebp
mov dword [esp + 0x44], edx
mov dword [esp + 0x40], eax
mov eax, ebx
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x60]
mov ebx, dword [esp + 0x54]
cmp ebx, 0x14
jge 0x49dbb7
mov esi, dword [esp + 0x44]
test esi, esi
sete dl
mov ebp, dword [esp + 0x40]
cmp ebp, edi
seta bl
test esi, esi
xchg esi, ebx
seta bl
xchg esi, ebx
and ebx, edx
or ebx, esi
test bl, bl
je 0x49d6bb
mov edx, dword [esp + 0x54]
mov dword [esp + 0x78], eax
mov ebx, dword [esp + 0xe4]
cmp ebx, edx
jge 0x49dba5
mov ebp, edx
sub edx, ebx
cmp edx, 0x14
jae 0x49dc54
lea esi, [0x6e1520]
lea edx, [esi + edx*8]
mov esi, dword [edx]
mov edx, dword [edx + 4]
test esi, esi
je 0x49dc4f
mov dword [esp + 0x3c], edx
mov eax, edi
xor edx, edx
div esi
mov edx, eax
imul eax, esi
sub edi, eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x34], edi
lea edi, [esp + 0xb4]
xor eax, eax
call fcn.0045e498
mov eax, 0x20
jmp 0x49d7ae
add edi, 0x30
xchg edi, eax
mov byte [esp + ecx + 0xb3], al
xchg edi, eax
mov ecx, esi
mov esi, eax
mov eax, ecx
test edx, edx
jbe 0x49d7d6
mov ecx, eax
mov eax, 0xcccccccd
mov edi, edx
mul edx
shr edx, 3
mov eax, esi
lea esi, [edx + edx*4]
shl esi, 1
sub edi, esi
lea esi, [ecx - 1]
cmp esi, 0x20
jb 0x49d79c
jmp 0x49dc43
mov dword [esp + 0x38], esi
mov dword [esp + 0x74], ebp
mov edx, dword [esp + 0xe0]
mov ecx, eax
jmp 0x49d802
xchg ebp, ecx
mov byte [ebx + eax], cl
xchg ebp, ecx
lea eax, [edi + 1]
mov ebx, dword [esp + 0xe4]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x38]
cmp eax, 0x20
jge 0x49d82a
mov edi, eax
sub eax, ecx
cmp edi, 0x20
jae 0x49dc37
mov esi, dword [edx + 4]
mov ebx, dword [edx]
movzx ebp, byte [esp + edi + 0xb4]
cmp eax, esi
jb 0x49d7e9
jmp 0x49dc30
lea edi, [ecx - 0x20]
xchg edi, ebx
neg ebx
xchg edi, ebx
mov dword [edx + 0xc], edi
mov eax, edi
mov edi, dword [esp + 0x60]
add ebp, edi
mov dword [edx + 0x10], ebp
lea ebx, [ecx + ebx - 0x20]
test ebx, ebx
jle 0x49db79
mov ebp, dword [esp + 0x34]
test ebp, ebp
jne 0x49dc18
cmp esi, 1
xchg edi, ebx
setne bl
xchg edi, ebx
mov ecx, esi
mov esi, dword [esp + 0x3c]
test esi, esi
xchg esi, ebx
setne bl
xchg esi, ebx
or esi, edi
xchg esi, eax
test al, al
xchg esi, eax
jne 0x49dc18
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x8c]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x9c], ecx
xor ecx, ecx
mov dword [esp + 0x28], ecx
mov ecx, 1
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x9c]
jmp 0x49d961
mov ebx, esi
shl esi, cl
and esi, edi
mov dword [esp + 0x6c], esi
mov eax, dword [esp + 0x58]
sub eax, esi
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0xd4]
mov byte [esi + ebp], al
mov eax, dword [esp + 0x64]
shl eax, cl
mov ecx, dword [esp + 0x84]
mov esi, ebx
shr ebx, cl
mov ecx, dword [esp + 0x94]
shl esi, cl
and eax, edi
mov edi, dword [esp + 0x88]
and ebx, edi
or eax, ebx
mov ebx, dword [esp + 0x8c]
and esi, ebx
or eax, esi
mov esi, dword [esp + 0x58]
mov edx, dword [esp + 0x6c]
sub esi, edx
mov edx, dword [esp + 0x80]
sbb edx, eax
lea eax, [ebp + 1]
mov ebp, dword [esp + 0x48]
dec ebp
mov esi, dword [esp + 0x90]
mov ecx, dword [esp + 0x38]
mov edi, ebx
mov ebx, ebp
mov dword [esp + 0x5c], edx
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x58], ebp
mov ebp, dword [esp + 0x7c]
mov dword [esp + 0x28], ebp
mov edx, dword [esp + 0xe0]
mov ebp, dword [esp + 0x34]
test ebx, ebx
jle 0x49daae
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], eax
mov eax, 0xa
mov ebp, dword [esp + 0x58]
mul ebp
mov dword [esp + 0x80], edx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x24]
mov ebx, 0xa
mul ebx
mov dword [esp + 0x24], eax
mov ebx, dword [esp + 0x28]
lea ebx, [ebx + ebx*4]
lea edx, [edx + ebx*2]
mov dword [esp + 0x7c], edx
shl edx, 1
shr eax, 0x1f
or eax, edx
mov ecx, dword [esp + 0x94]
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x84]
mov ebx, 1
shr ebx, cl
mov ebp, dword [esp + 0x88]
and ebx, ebp
and edx, edi
or edx, ebx
cmp edx, eax
setb dl
sete bl
mov eax, edi
mov edi, dword [esp + 0x24]
shl edi, 1
mov ecx, esi
mov ebp, 1
shl ebp, cl
mov esi, dword [esp + 0x98]
and ebp, esi
cmp ebp, edi
xchg ebp, ebx
setb bl
xchg ebp, ebx
mov edi, dword [esp + 0x5c]
lea edi, [edi + edi*4]
mov esi, dword [esp + 0x80]
lea esi, [esi + edi*2]
and ebx, ebp
or ebx, edx
test bl, bl
jne 0x49da9f
mov dword [esp + 0x80], esi
mov edx, ecx
mov ecx, dword [esp + 0x84]
mov ebx, esi
shl esi, cl
mov ecx, edx
mov edi, dword [esp + 0x58]
shr edi, cl
mov ecx, dword [esp + 0x94]
shr ebx, cl
mov ebp, dword [esp + 0x98]
and edi, ebp
mov ebp, dword [esp + 0x88]
and esi, ebp
or esi, edi
and ebx, eax
or ebx, esi
mov esi, ebx
add ebx, 0x30
mov dword [esp + 0x70], ebx
mov ecx, edx
mov ebp, dword [esp + 0x80]
shr ebp, cl
mov edi, dword [esp + 0x98]
and ebp, edi
mov dword [esp + 0x64], ebp
mov ebp, dword [esp + 0xe0]
mov ebx, dword [ebp + 4]
mov ebp, dword [ebp]
mov dword [esp + 0xd4], ebp
mov ebp, dword [esp + 0x4c]
cmp ebp, ebx
jb 0x49d8c4
jmp 0x49dc0f
mov byte [esp + 0xe8], 0
add esp, 0xd8
ret
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
mov dword [esp], edx
mov ecx, dword [esp + 0x94]
shl ebp, cl
and ebp, edi
mov ecx, dword [esp + 0x84]
mov edi, dword [esp + 0x34]
shr edi, cl
mov edx, dword [esp + 0x88]
and edi, edx
or edi, ebp
mov edx, dword [esp + 0x5c]
or edx, edi
mov dword [esp + 8], edx
mov ecx, esi
mov ebp, dword [esp + 0x34]
shl ebp, cl
mov edi, dword [esp + 0x98]
and ebp, edi
mov edi, dword [esp + 0x58]
or edi, ebp
mov dword [esp + 4], edi
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x38]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ebx
call fcn.0049dca0
movzx eax, byte [esp + 0x20]
test al, al
je 0x49db6a
mov edx, dword [esp + 0xe0]
mov ebx, dword [edx + 0xc]
dec ebx
jmp 0x49db3c
dec ebx
test ebx, ebx
jl 0x49db5b
mov ecx, dword [edx + 4]
mov ebp, dword [edx]
cmp ebx, ecx
jae 0x49dc08
add ebp, ebx
cmp byte [ebp], 0x30
je 0x49db3b
lea eax, [ebx + 1]
mov dword [edx + 0xc], eax
mov byte [esp + 0xe8], 1
add esp, 0xd8
ret
mov byte [esp + 0xe8], 0
add esp, 0xd8
ret
mov ecx, esi
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x8c]
xor eax, eax
mov ebx, 1
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x38]
jmp 0x49dab9
mov ebp, edx
mov edx, edi
xor edi, edi
xor eax, eax
mov esi, 1
jmp 0x49d778
xor edx, edx
jmp 0x49d72d
mov ebx, dword [esp + 0x2c]
jmp 0x49d51e
mov edx, dword [esp + 0x2c]
jmp 0x49d4e5
mov edx, edi
mov ebp, edx
mov edi, ebx
xor esi, esi
jmp 0x49d49c
mov ecx, dword [esp + 0xe0]
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
movzx eax, byte [eax + 0xc]
mov byte [ecx + 0x14], al
mov byte [esp + 0xe8], 1
add esp, 0xd8
ret
mov eax, ebx
call fcn.0045e2a0
mov eax, ebp
mov ecx, ebx
call fcn.0045e2a0
lea eax, [0x5a5ba0]
mov dword [esp], eax
lea eax, [0x60eb30]
mov dword [esp + 4], eax
call fcn.00431c00
mov ecx, esi
call fcn.0045e2a0
mov eax, edi
mov ecx, 0x20
call fcn.0045e2a0
mov eax, esi
mov ecx, 0x20
call fcn.0045e2a0
call fcn.004305c0
mov eax, edx
mov ecx, 0x14
call fcn.0045e2a0
mov eax, edi
mov ecx, 0x100
call fcn.0045e2b0
mov esi, ebx
mov eax, edi
mov ecx, 0x100
call fcn.0045e380
lea eax, [0x5a5ba0]
mov dword [esp], eax
lea eax, [0x60eb28]
mov dword [esp + 4], eax
call fcn.00431c00
nop
call fcn.0045ccc0
jmp fcn.0049d420