Function at 0x4748f0
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 0x475163
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 0x4750ad
mov edx, dword [esp + 0xe4]
test edx, edx
je 0x47514a
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 0x4750a0
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 0x475097
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 0x47508e
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 0x47513c
cmp edi, 0x100
jae 0x475130
mov dword [esp + 0x50], esi
lea edx, [0xa8d460]
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.00474740
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 0x474bc9
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 0x475087
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 0x474b8b
mov edx, dword [esp + 0x54]
mov dword [esp + 0x78], eax
mov ebx, dword [esp + 0xe4]
cmp ebx, edx
jge 0x475075
mov ebp, edx
sub edx, ebx
cmp edx, 0x14
jae 0x475124
lea esi, [0xa8c540]
lea edx, [esi + edx*8]
mov esi, dword [edx]
mov edx, dword [edx + 4]
test esi, esi
je 0x47511f
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.004663d8
mov eax, 0x20
jmp 0x474c7e
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 0x474ca6
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 0x474c6c
jmp 0x475113
mov dword [esp + 0x38], esi
mov dword [esp + 0x74], ebp
mov edx, dword [esp + 0xe0]
mov ecx, eax
jmp 0x474cd2
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 0x474cfa
mov edi, eax
sub eax, ecx
cmp edi, 0x20
jae 0x475107
mov esi, dword [edx + 4]
mov ebx, dword [edx]
movzx ebp, byte [esp + edi + 0xb4]
cmp eax, esi
jb 0x474cb9
jmp 0x475100
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 0x475049
mov ebp, dword [esp + 0x34]
test ebp, ebp
jne 0x4750e8
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 0x4750e8
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 0x474e31
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 0x474f7e
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 0x474f6f
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 0x474d94
jmp 0x4750df
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.00475170
movzx eax, byte [esp + 0x20]
test al, al
je 0x47503a
mov edx, dword [esp + 0xe0]
mov ebx, dword [edx + 0xc]
dec ebx
jmp 0x47500c
dec ebx
test ebx, ebx
jl 0x47502b
mov ecx, dword [edx + 4]
mov ebp, dword [edx]
cmp ebx, ecx
jae 0x4750d8
add ebp, ebx
cmp byte [ebp], 0x30
je 0x47500b
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 0x474f89
mov ebp, edx
mov edx, edi
xor edi, edi
xor eax, eax
mov esi, 1
jmp 0x474c48
xor edx, edx
jmp 0x474bfd
mov ebx, dword [esp + 0x2c]
jmp 0x4749ee
mov edx, dword [esp + 0x2c]
jmp 0x4749b5
mov edx, edi
mov ebp, edx
mov edi, ebx
xor esi, esi
jmp 0x47496c
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.004661b0
mov eax, ebp
mov ecx, ebx
call fcn.004661b0
lea eax, [0x79f7e0]
mov dword [esp], eax
lea eax, [0x8a7c10]
mov dword [esp + 4], eax
call fcn.004353f0
mov ecx, esi
call fcn.004661b0
mov eax, edi
mov ecx, 0x20
call fcn.004661b0
mov eax, esi
mov ecx, 0x20
call fcn.004661b0
call fcn.00433db0
mov eax, edx
mov ecx, 0x14
call fcn.004661b0
mov eax, edi
mov ecx, 0x100
call fcn.004661c0
mov esi, ebx
mov eax, edi
mov ecx, 0x100
call fcn.004662a0
lea eax, [0x79f7e0]
mov dword [esp], eax
lea eax, [0x8a7c08]
mov dword [esp + 4], eax
call fcn.004353f0
nop
call fcn.00464bd0
jmp fcn.004748f0