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

Disassembly:
sub esp, 0x2c
push ebx
mov ebx, dword [esp + 0x34]
push ebp
xor eax, eax
cmp dword [ebx + 0x134], eax
push esi
push edi
je 0x47eaaa
mov ebp, dword [ebx + 0x270]
cmp ebp, eax
je 0x47eaaa
mov edi, dword [esp + 0x60]
cmp edi, eax
je 0x47eaaa
cmp dword [esp + 0x64], eax
je 0x47eaaa
mov esi, dword [ebx + 0x134]
mov ecx, dword [esi + 0x78]
mov dword [esp + 0x1c], ecx
add ebp, 0x7c
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
call fcn.00469660
push edi
push 0x54ced4
lea edi, [esp + 0x38]
call fcn.004892f0
add esp, 8
test eax, eax
je 0x47dd5a
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x50]
mov dword [eax], edx
mov esi, dword [ebx + 0x134]
call fcn.00469660
mov ecx, dword [esp + 0x60]
push ecx
push 0x54d1c0
lea edi, [esp + 0x38]
call fcn.004892f0
add esp, 8
test eax, eax
je 0x47dd9c
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x48]
cdq
sub eax, edx
sar eax, 1
mov edx, eax
mov eax, dword [esp + 0x58]
neg edx
add eax, edx
mov dword [esp + 0x58], eax
mov dword [ecx], eax
xor edi, edi
mov esi, ebp
call fcn.00472050
mov eax, dword [eax]
mov esi, ebx
mov ebx, dword [eax]
push esi
call fcn.00476960
lea edi, [esi + 0x46c]
mov dword [esp + 0x18], eax
call fcn.0046c230
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
xor eax, eax
xor ebp, ebp
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
add ebx, 4
mov eax, dword [ebx + 4]
test eax, eax
je 0x47ddf4
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jge 0x47e122
mov edi, ebp
mov esi, ebx
call fcn.00468fc0
push eax
mov ecx, 0x535ef0
call fcn.0042d750
mov edx, dword [esp + 0x44]
mov esi, dword [edx + 0x134]
add esp, 4
test al, al
je 0x47de32
call fcn.00469660
mov ecx, dword [esp + 0x18]
push ecx
push 0x54d1c0
jmp 0x47de41
call fcn.00469660
mov ecx, dword [esp + 0x18]
push ecx
push 0x536e84
lea edi, [esp + 0x38]
call fcn.004892f0
mov edx, dword [esp + 0x54]
mov eax, dword [edx]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x1c], eax
add eax, ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x24], eax
mov eax, dword [edx]
mov dword [esp + 0x58], eax
add eax, ecx
add esp, 8
mov edi, ebp
mov esi, ebx
mov dword [esp + 0x60], eax
call fcn.00468fc0
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x14]
add eax, 0x1c
mov dword [eax], edx
mov edx, dword [esp + 0x60]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x34]
mov dword [eax + 0xc], ecx
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x48]
add dword [ecx], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], edx
call fcn.00468fc0
add eax, 4
push eax
mov ecx, 0x535ef0
call fcn.0042d750
add esp, 4
test al, al
je 0x47e011
call fcn.00468fc0
add eax, 4
push eax
mov ecx, 0x54c9a0
call fcn.0040d440
add esp, 4
test al, al
je 0x47df0e
call fcn.00468fc0
mov edi, dword [eax + 4]
add eax, 4
mov eax, dword [esp + 0x40]
mov esi, dword [eax + 0x134]
call fcn.00469660
mov ecx, dword [esp + 0x64]
jmp 0x47df2c
call fcn.00468fc0
mov edx, dword [esp + 0x40]
mov esi, dword [edx + 0x134]
mov edi, dword [eax + 4]
add eax, 4
call fcn.00469660
mov ecx, dword [esp + 0x18]
push ecx
push edi
lea edi, [esp + 0x38]
call fcn.004892f0
mov edx, dword [esp + 0x54]
mov eax, dword [edx]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x1c], eax
add eax, ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x2c], eax
mov eax, dword [edx]
mov dword [esp + 0x58], eax
add eax, ecx
add esp, 8
mov edi, ebp
mov esi, ebx
mov dword [esp + 0x20], eax
call fcn.00468fc0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x50]
add eax, 0x2c
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x24]
mov dword [eax], edx
mov edx, dword [esp + 0x20]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x60]
add ecx, dword [esp + 0x30]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x54]
mov eax, dword [edx]
cmp eax, ecx
mov dword [esp + 0x60], ecx
jg 0x47dfa1
mov eax, ecx
mov ecx, edx
mov edi, ebp
mov dword [ecx], eax
call fcn.00468fc0
add eax, 4
push eax
mov ecx, 0x54c9a0
call fcn.0042d750
add esp, 4
test al, al
je 0x47dfff
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
cmp edi, eax
jg 0x47dfcf
mov edi, eax
mov edx, dword [esp + 0x40]
mov esi, dword [edx + 0x134]
call fcn.00468840
mov edx, dword [esp + 0x58]
mov ecx, eax
mov eax, dword [esp + 0x4c]
add ecx, edi
add dword [eax], ecx
mov eax, dword [esp + 0x28]
lea ecx, [eax + edx]
mov edx, dword [esp + 0x48]
mov dword [edx], ecx
mov dword [esp + 0x60], eax
jmp 0x47e011
mov eax, dword [esp + 0x30]
lea ecx, [eax + 0xa]
mov eax, dword [esp + 0x48]
add dword [eax], ecx
add dword [esp + 0x60], 0xc
mov edi, ebp
mov esi, ebx
call fcn.00468fc0
add eax, 0x18
push eax
mov ecx, 0x535ef0
call fcn.0042d750
add esp, 4
test al, al
je 0x47e0fb
call fcn.00468fc0
mov edx, dword [esp + 0x40]
mov esi, dword [edx + 0x134]
mov edi, dword [eax + 0x18]
add eax, 0x18
call fcn.00469660
mov ecx, dword [esp + 0x2c]
push ecx
push edi
lea edi, [esp + 0x38]
call fcn.004892f0
mov edx, dword [esp + 0x54]
mov eax, dword [edx]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x1c], eax
add eax, ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x2c], eax
mov eax, dword [edx]
mov dword [esp + 0x58], eax
add eax, ecx
add esp, 8
mov edi, ebp
mov esi, ebx
mov dword [esp + 0x28], eax
call fcn.00468fc0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x50]
add eax, 0x3c
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x24]
mov dword [eax], edx
mov edx, dword [esp + 0x28]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x60]
add ecx, dword [esp + 0x30]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x54]
mov eax, dword [edx]
cmp eax, ecx
mov dword [esp + 0x60], ecx
jg 0x47e0c6
mov eax, ecx
mov edi, dword [esp + 0x1c]
mov ecx, edx
mov edx, dword [esp + 0x48]
mov dword [ecx], eax
mov eax, dword [esp + 0x58]
mov dword [edx], eax
mov eax, dword [esp + 0x34]
cmp edi, eax
jg 0x47e0e2
mov edi, eax
mov ecx, dword [esp + 0x40]
mov esi, dword [ecx + 0x134]
call fcn.00468840
add eax, edi
mov edi, dword [esp + 0x4c]
add dword [edi], eax
jmp 0x47e0ff
mov edi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x48]
mov esi, dword [ecx + 0x134]
mov dword [eax], edx
call fcn.00468840
add dword [edi], eax
add ebp, 1
jmp 0x47ddd7
mov esi, dword [esp + 0x44]
xor edi, edi
xor eax, eax
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov dword [esp + 0x4c], edi
lea esp, [esp]
mov eax, dword [ebx + 4]
test eax, eax
je 0x47e15d
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jge 0x47ea9c
mov edx, dword [esp + 0x40]
mov eax, dword [edx + 0x270]
cmp dword [eax + 0x90], 0
mov eax, dword [ebx + 4]
je 0x47e24c
test eax, eax
je 0x47e19d
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e1a2
call fcn.00500ad0
mov ecx, dword [ebx + 4]
mov ebp, edi
imul ebp, ebp, 0x4c
mov esi, dword [ecx + ebp + 0x28]
sub esi, dword [ecx + ebp + 0x20]
lea eax, [ecx + ebp + 0x1c]
mov eax, ecx
test eax, eax
mov dword [esp + 0x48], ebp
je 0x47e1da
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e1df
call fcn.00500ad0
mov edx, dword [ebx + 4]
mov ecx, dword [edx + ebp + 0x38]
sub ecx, dword [edx + ebp + 0x30]
lea eax, [edx + ebp + 0x2c]
cmp esi, ecx
mov eax, edx
jle 0x47e220
test eax, eax
je 0x47e212
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e217
call fcn.00500ad0
mov edx, dword [ebx + 4]
lea eax, [edx + ebp + 0x1c]
jmp 0x47e27f
test eax, eax
je 0x47e23e
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e243
call fcn.00500ad0
mov eax, dword [ebx + 4]
lea eax, [eax + ebp + 0x2c]
jmp 0x47e27f
test eax, eax
je 0x47e26a
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e26f
call fcn.00500ad0
mov ecx, dword [ebx + 4]
mov ebp, edi
imul ebp, ebp, 0x4c
mov dword [esp + 0x48], ebp
lea eax, [ecx + ebp + 0x2c]
mov esi, dword [eax + 0xc]
sub esi, dword [eax + 4]
mov edx, dword [esp + 0x40]
mov eax, dword [edx + 0x270]
cmp dword [eax + 0x90], 0
je 0x47e314
mov eax, dword [ebx + 4]
test eax, eax
je 0x47e2b9
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e2be
call fcn.00500ad0
mov ecx, dword [ebx + 4]
lea eax, [ecx + ebp + 0x1c]
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 4]
mov eax, dword [ebx + 4]
test eax, eax
mov dword [esp + 0x60], ecx
je 0x47e2f0
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e2f5
call fcn.00500ad0
mov eax, esi
sub eax, dword [esp + 0x60]
add eax, 1
cdq
sub eax, edx
mov edx, dword [ebx + 4]
sar eax, 1
push eax
push 0
lea eax, [edx + ebp + 0x1c]
push eax
call dword [0x5313ec]
mov eax, dword [ebx + 4]
test eax, eax
je 0x47e335
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e33a
call fcn.00500ad0
mov ecx, dword [ebx + 4]
lea eax, [ecx + ebp + 0x2c]
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 4]
mov eax, dword [ebx + 4]
test eax, eax
mov dword [esp + 0x60], ecx
je 0x47e36c
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e371
call fcn.00500ad0
mov eax, esi
sub eax, dword [esp + 0x60]
add eax, 1
cdq
sub eax, edx
mov edx, dword [ebx + 4]
sar eax, 1
push eax
push 0
lea eax, [edx + ebp + 0x2c]
push eax
call dword [0x5313ec]
mov eax, dword [ebx + 4]
test eax, eax
je 0x47e3b1
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e3b6
call fcn.00500ad0
mov ecx, dword [ebx + 4]
mov edx, dword [esp + 0x48]
mov ebp, dword [ecx + edx + 0x48]
sub ebp, dword [ecx + edx + 0x40]
lea eax, [ecx + edx + 0x3c]
mov eax, ecx
test eax, eax
je 0x47e3e9
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e3ee
call fcn.00500ad0
mov ecx, dword [esp + 0x48]
mov eax, esi
sub eax, ebp
add eax, 1
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, dword [ebx + 4]
push 0
lea edx, [ecx + eax + 0x3c]
push edx
call dword [0x5313ec]
cmp dword [esp + 0x4c], 0
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x270]
mov eax, dword [ebx + 4]
jne 0x47e6a0
cmp dword [ecx + 0x90], 0
mov dword [esp + 0x4c], 1
je 0x47e4f4
test eax, eax
je 0x47e45a
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e45f
call fcn.00500ad0
mov esi, dword [ebx + 4]
mov ebp, dword [esp + 0x48]
mov eax, dword [ebx + 4]
add esi, ebp
test eax, eax
je 0x47e489
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e48e
call fcn.00500ad0
mov edx, dword [ebx + 4]
mov eax, dword [esi + 0x20]
cmp eax, dword [edx + ebp + 0x30]
mov eax, edx
jge 0x47e4c8
test eax, eax
je 0x47e4ba
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e4bf
call fcn.00500ad0
mov ecx, dword [ebx + 4]
mov eax, dword [ecx + ebp + 0x20]
jmp 0x47e522
test eax, eax
je 0x47e4e6
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e4eb
call fcn.00500ad0
mov edx, dword [ebx + 4]
mov eax, dword [edx + ebp + 0x30]
jmp 0x47e522
test eax, eax
je 0x47e512
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e517
call fcn.00500ad0
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x48]
mov eax, dword [eax + ecx + 0x30]
mov ebp, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
mov dword [ebp + 4], eax
mov eax, dword [edx + 0x270]
cmp dword [eax + 0x90], 0
mov eax, dword [ebx + 4]
je 0x47e605
test eax, eax
je 0x47e561
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e566
call fcn.00500ad0
mov esi, dword [ebx + 4]
mov eax, dword [ebx + 4]
add esi, dword [esp + 0x48]
test eax, eax
je 0x47e58e
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e593
call fcn.00500ad0
mov ecx, dword [ebx + 4]
mov eax, dword [esp + 0x48]
mov edx, dword [esi + 0x28]
cmp edx, dword [eax + ecx + 0x38]
mov eax, ecx
jle 0x47e5d5
test eax, eax
je 0x47e5c3
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e5c8
call fcn.00500ad0
mov ecx, dword [ebx + 4]
mov edx, dword [esp + 0x48]
mov eax, dword [edx + ecx + 0x28]
jmp 0x47e633
test eax, eax
je 0x47e5f3
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e5f8
call fcn.00500ad0
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx + eax + 0x38]
jmp 0x47e633
test eax, eax
je 0x47e623
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e628
call fcn.00500ad0
mov edx, dword [ebx + 4]
mov eax, dword [esp + 0x48]
mov eax, dword [eax + edx + 0x38]
mov dword [ebp + 0xc], eax
mov eax, dword [ebx + 4]
test eax, eax
je 0x47e657
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e65c
call fcn.00500ad0
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebx + 4]
mov esi, dword [esp + 0x48]
cmp eax, dword [esi + ecx + 0x48]
jg 0x47e698
mov eax, ecx
test eax, eax
je 0x47e68c
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e691
call fcn.00500ad0
mov edx, dword [ebx + 4]
mov eax, dword [esi + edx + 0x48]
mov dword [ebp + 0xc], eax
jmp 0x47ea80
cmp dword [ecx + 0x90], 0
je 0x47e765
test eax, eax
je 0x47e6cb
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e6d0
call fcn.00500ad0
mov esi, dword [ebx + 4]
mov ebp, dword [esp + 0x48]
mov eax, dword [ebx + 4]
add esi, ebp
test eax, eax
je 0x47e6fa
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e6ff
call fcn.00500ad0
mov edx, dword [ebx + 4]
mov eax, dword [esi + 0x20]
cmp eax, dword [edx + ebp + 0x30]
mov eax, edx
jge 0x47e739
test eax, eax
je 0x47e72b
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e730
call fcn.00500ad0
mov ecx, dword [ebx + 4]
mov ecx, dword [ecx + ebp + 0x20]
jmp 0x47e793
test eax, eax
je 0x47e757
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e75c
call fcn.00500ad0
mov edx, dword [ebx + 4]
mov ecx, dword [edx + ebp + 0x30]
jmp 0x47e793
test eax, eax
je 0x47e783
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e788
call fcn.00500ad0
mov eax, dword [ebx + 4]
mov ebp, dword [esp + 0x48]
mov ecx, dword [eax + ebp + 0x30]
mov edx, dword [esp + 0x44]
mov eax, dword [edx + 4]
cmp eax, ecx
jl 0x47e852
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x270]
cmp dword [ecx + 0x90], 0
mov eax, dword [ebx + 4]
je 0x47e828
test eax, eax
je 0x47e7d6
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e7db
call fcn.00500ad0
mov esi, dword [ebx + 4]
mov eax, dword [ebx + 4]
add esi, ebp
test eax, eax
je 0x47e801
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e806
call fcn.00500ad0
mov eax, dword [esi + 0x20]
mov edx, dword [ebx + 4]
cmp eax, dword [edx + ebp + 0x30]
mov esi, ebx
jge 0x47e81e
call fcn.00468fc0
mov eax, dword [eax + 0x20]
jmp 0x47e852
call fcn.00468fc0
mov eax, dword [eax + 0x30]
jmp 0x47e852
test eax, eax
je 0x47e846
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e84b
call fcn.00500ad0
mov ecx, dword [ebx + 4]
mov eax, dword [ecx + ebp + 0x30]
mov edx, dword [esp + 0x44]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x270]
cmp dword [ecx + 0x90], 0
mov eax, dword [ebx + 4]
je 0x47e927
test eax, eax
je 0x47e891
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e896
call fcn.00500ad0
mov esi, dword [ebx + 4]
mov eax, dword [ebx + 4]
add esi, ebp
test eax, eax
je 0x47e8bc
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e8c1
call fcn.00500ad0
mov edx, dword [ebx + 4]
mov eax, dword [esi + 0x28]
cmp eax, dword [edx + ebp + 0x38]
mov eax, edx
jle 0x47e8fb
test eax, eax
je 0x47e8ed
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e8f2
call fcn.00500ad0
mov ecx, dword [ebx + 4]
mov ecx, dword [ecx + ebp + 0x28]
jmp 0x47e951
test eax, eax
je 0x47e919
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e91e
call fcn.00500ad0
mov edx, dword [ebx + 4]
mov ecx, dword [edx + ebp + 0x38]
jmp 0x47e951
test eax, eax
je 0x47e945
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e94a
call fcn.00500ad0
mov eax, dword [ebx + 4]
mov ecx, dword [eax + ebp + 0x38]
mov esi, dword [esp + 0x44]
mov eax, dword [esi + 0xc]
cmp eax, ecx
jg 0x47ea18
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx + 0x270]
cmp dword [edx + 0x90], 0
mov eax, dword [ebx + 4]
je 0x47e9ee
test eax, eax
je 0x47e994
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e999
call fcn.00500ad0
mov esi, dword [ebx + 4]
mov eax, dword [ebx + 4]
add esi, ebp
test eax, eax
je 0x47e9bf
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47e9c4
call fcn.00500ad0
mov ecx, dword [esi + 0x28]
mov eax, dword [ebx + 4]
cmp ecx, dword [eax + ebp + 0x38]
mov esi, ebx
jle 0x47e9e0
call fcn.00468fc0
mov eax, dword [eax + 0x28]
mov esi, dword [esp + 0x44]
jmp 0x47ea18
call fcn.00468fc0
mov eax, dword [eax + 0x38]
mov esi, dword [esp + 0x44]
jmp 0x47ea18
test eax, eax
je 0x47ea0c
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47ea11
call fcn.00500ad0
mov edx, dword [ebx + 4]
mov eax, dword [edx + ebp + 0x38]
mov dword [esi + 0xc], eax
mov eax, dword [ebx + 4]
test eax, eax
je 0x47ea3c
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47ea41
call fcn.00500ad0
mov eax, dword [esi + 0xc]
mov ecx, dword [ebx + 4]
cmp eax, dword [ecx + ebp + 0x48]
jg 0x47ea79
mov eax, ecx
test eax, eax
je 0x47ea6d
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x47ea72
call fcn.00500ad0
mov edx, dword [ebx + 4]
mov eax, dword [edx + ebp + 0x48]
mov ebp, dword [esp + 0x44]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x54]
mov ecx, dword [eax]
mov esi, dword [esp + 0x44]
mov dword [ebp], 0
mov dword [ebp + 8], ecx
add edi, 1
jmp 0x47e140
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x58]
add dword [esi + 0xc], edx
add dword [esi + 8], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret 0x28