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

Disassembly:
sub esp, 0x6c
mov eax, dword [esp + 0x70]
push ebx
mov ebx, dword [esp + 0x78]
push ebp
mov ecx, dword [eax]
mov eax, dword [eax + 0xb8]
push esi
push edi
mov esi, dword [eax + 0x28]
mov dword [esp + 0x24], ecx
mov ecx, dword [ecx + 0x1c]
xor edi, edi
cmp esi, ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
jae 0x47b815
lea ebp, [esi + 8]
mov edx, dword [esi]
mov eax, dword [esp + 0x14]
push 0
push edx
push eax
call dword [eax + 0x50]
add esp, 0xc
test eax, eax
je 0x47b7ec
test edi, edi
jne 0x47b7ec
mov edi, eax
cmp dword [ebp], 0
je 0x47b803
mov eax, dword [esp + 0x80]
push ebp
push eax
call fcn.004649a0
add esp, 8
add esi, 0x1c
add ebp, 0x1c
cmp esi, ebx
jb 0x47b7d2
test edi, edi
jne 0x47b98a
mov ecx, dword [esp + 0x18]
push 1
push 0
mov edx, dword [ecx + 0x2c]
mov ecx, dword [esp + 0x88]
mov eax, dword [edx]
push eax
push 6
push ecx
call fcn.00480810
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x47b98a
mov eax, dword [esi]
mov ecx, dword [esp + 0x80]
xor edx, edx
mov dx, word [esi + 4]
push edx
push eax
push ecx
call fcn.0047b410
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x47b98a
mov eax, dword [esi]
xor edx, edx
mov dx, word [esi + 4]
push 0xffffffffffffffff
mov ecx, dword [eax + 8]
push edx
mov edx, dword [esp + 0x88]
push ecx
push edx
call fcn.00476070
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x47b98a
mov eax, dword [esi]
push edi
mov ecx, dword [eax + 8]
mov dword [esp + 0x20], ecx
mov eax, dword [esi]
push eax
mov bx, word [eax + 0x14]
mov eax, dword [esp + 0x1c]
push eax
call dword [eax + 0x50]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x47b987
mov ecx, dword [esi + 8]
lea eax, [esi + 8]
test ecx, ecx
je 0x47b8cd
mov edx, dword [esp + 0x80]
push eax
push edx
call fcn.004649a0
add esp, 8
mov eax, dword [esp + 0x18]
add esi, 0x1c
cmp esi, dword [eax + 0x2c]
ja 0x47b946
lea ebp, [esi + 8]
mov eax, dword [esi]
cmp word [eax + 0x14], 0
je 0x47b907
mov edx, dword [esp + 0x80]
xor ecx, ecx
mov cx, word [ebp - 4]
push ecx
push eax
push edx
call fcn.0047b410
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x47b98a
mov eax, dword [esi]
mov ecx, dword [esp + 0x80]
push eax
push ecx
call fcn.00464560
mov edi, eax
add esp, 8
test edi, edi
jne 0x47b981
cmp dword [ebp], 0
je 0x47b937
mov edx, dword [esp + 0x80]
push ebp
push edx
call fcn.004649a0
add esp, 8
mov eax, dword [esp + 0x18]
add esi, 0x1c
add ebp, 0x1c
cmp esi, dword [eax + 0x2c]
jbe 0x47b8dc
mov ecx, dword [esp + 0x18]
xor edi, edi
mov eax, dword [ecx + 0x28]
mov dword [ecx + 0x2c], eax
mov dword [eax], edi
mov eax, dword [ecx + 0x2c]
mov dword [eax + 8], edi
mov ebp, dword [ecx + 8]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x28], ebp
cmp eax, ebp
jne 0x47be0a
cmp bx, 1
jne 0x47be0a
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x20], edi
jmp 0x47b9f8
mov dword [esi], 0
add esi, 0x1c
mov ecx, dword [esp + 0x18]
cmp esi, dword [ecx + 0x2c]
ja 0x47b9d6
lea ebp, [esi + 8]
mov eax, dword [esi]
test eax, eax
je 0x47b9ae
push 0
push eax
mov eax, dword [esp + 0x1c]
push eax
call dword [eax + 0x50]
mov ecx, dword [esp + 0x24]
add esp, 0xc
cmp dword [ebp], 0
je 0x47b9c9
mov ecx, dword [esp + 0x80]
push ebp
push ecx
call fcn.004649a0
mov ecx, dword [esp + 0x20]
add esp, 8
mov eax, dword [ecx + 0x2c]
add esi, 0x1c
add ebp, 0x1c
cmp esi, eax
jbe 0x47b996
mov eax, dword [ecx + 0x28]
mov dword [ecx + 0x2c], eax
mov dword [eax], 0
mov edx, dword [ecx + 0x2c]
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [edx + 8], 0
pop ebx
add esp, 0x6c
ret
xor edi, edi
mov edx, dword [esp + 0x80]
lea ecx, [esp + 0x2c]
push ecx
push edi
push 2
push ebp
push edi
push edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x9c], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x34], ebp
call fcn.00464750
mov esi, eax
add esp, 0x18
cmp esi, edi
jne 0x47bd6c
lea eax, [esp + 0x84]
lea ecx, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x18]
push edi
push ecx
push eax
call dword [eax + 0x40]
mov esi, eax
add esp, 0x10
cmp esi, edi
jne 0x47bd6c
mov eax, dword [esp + 0x84]
cmp word [eax + 0x14], 1
jne 0x47bd73
xor ecx, ecx
mov cl, byte [eax + 0x19]
sub ecx, 3
je 0x47bab3
dec ecx
jne 0x47bd73
mov ecx, dword [ebx + 0x1d4]
test ch, 8
je 0x47ba99
mov ecx, 0x26
xor edx, edx
mov dx, word [ecx + eax + 0x1a]
mov eax, dword [edx + eax]
mov dword [esp + 0x1c], eax
jmp 0x47bb08
and cl, 1
neg cl
sbb ecx, ecx
and ecx, 6
xor edx, edx
mov dx, word [ecx + eax + 0x1a]
mov eax, dword [edx + eax]
mov dword [esp + 0x1c], eax
jmp 0x47bb08
mov ecx, dword [ebx + 0x1d4]
test ch, 8
je 0x47bac5
mov ecx, 0x26
jmp 0x47bacf
and cl, 1
neg cl
sbb ecx, ecx
and ecx, 6
xor edi, edi
mov di, word [ecx + eax + 0x1a]
add edi, eax
mov al, byte [edi + 2]
and al, 0x7f
cmp al, 3
jne 0x47baff
mov ecx, dword [edi + 0x10]
mov edx, dword [esp + 0x80]
push ecx
push edx
call fcn.00455e30
mov esi, eax
add esp, 8
test esi, esi
jne 0x47bd6c
mov eax, dword [edi + 4]
xor edi, edi
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x80]
lea ecx, [esp + 0x3c]
push ecx
push edi
push 2
push eax
push edi
push edx
call fcn.00464750
mov esi, eax
add esp, 0x18
cmp esi, edi
jne 0x47bd6c
lea eax, [esp + 0x10]
lea ecx, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x18]
push 0
push ecx
push eax
call dword [eax + 0x40]
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x47bd6c
mov ecx, dword [esp + 0x80]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
mov edx, dword [eax + 0x14c]
test edx, edx
je 0x47bc5c
test byte [ecx + 0xf8], 0x10
jne 0x47bc5c
test dword [eax + 0x23c], 0x10000
jne 0x47bc5c
mov edx, dword [esp + 0x10]
mov ecx, 6
xor eax, eax
lea edi, [esp + 0x64]
rep stosd dword es:[edi], eax
mov dword [esp + 0x64], edx
mov eax, dword [ebx]
mov dword [esp + 0x68], eax
mov ecx, 6
xor eax, eax
lea edi, [esp + 0x4c]
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 0x1d4]
test ah, 8
je 0x47bbbe
mov ecx, 0x26
jmp 0x47bbc9
and al, 1
neg al
sbb eax, eax
and eax, 6
mov ecx, eax
mov eax, dword [esp + 0x84]
xor esi, esi
mov si, word [ecx + eax + 0x1a]
mov ecx, esi
add ecx, eax
mov dword [esp + 0x4c], ecx
cmp byte [eax + 0x19], 4
jne 0x47bbef
mov dword [esp + 0x50], 8
jmp 0x47bbfe
xor esi, esi
mov si, word [ecx]
add esi, 0xf
and esi, 0xfffffffc
mov dword [esp + 0x50], esi
mov cl, byte [eax + 0x19]
cmp cl, 3
je 0x47bc22
cmp cl, 4
je 0x47bc22
cmp cl, 5
jne 0x47bc1a
xor ecx, ecx
mov cx, word [eax + 0x14]
shr ecx, 1
jmp 0x47bc25
xor ecx, ecx
mov cx, word [eax + 0x14]
jmp 0x47bc25
mov ecx, dword [eax + 0xc]
lea esi, [esp + 0x4c]
push eax
push esi
push ecx
mov ecx, dword [eax + 8]
lea eax, [esp + 0x70]
push ecx
mov ecx, dword [edx + 8]
push eax
push ecx
push 0
push edx
mov edx, dword [esp + 0xa0]
mov eax, dword [edx + 4]
push eax
push ebx
call fcn.00445410
mov esi, eax
add esp, 0x28
test esi, esi
jne 0x47bd6c
jmp 0x47bc71
mov ecx, dword [esp + 0x10]
mov dword [ecx], 0
mov edx, dword [esp + 0x10]
mov dword [edx + 4], 1
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x84]
mov esi, dword [esp + 0x10]
xor eax, eax
test byte [edx + 0xcc], 2
je 0x47bcb5
cmp byte [esi + 0x18], 1
jbe 0x47bcb5
mov al, byte [edi + 0x19]
cmp al, 3
je 0x47bcb2
cmp al, 4
je 0x47bcb2
cmp al, 5
jne 0x47bcaa
xor eax, eax
mov ax, word [edi + 0x14]
shr eax, 1
jmp 0x47bcb5
xor eax, eax
mov ax, word [edi + 0x14]
jmp 0x47bcb5
mov eax, dword [edi + 0xc]
mov ecx, dword [ebx]
mov ebp, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
mov ebp, dword [esp + 0x28]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x84]
mov dword [ecx + 8], ebp
mov cl, byte [edx + 0xcc]
test cl, 2
je 0x47bcf2
mov edx, dword [esp + 0x10]
cmp byte [edx + 0x18], 1
jbe 0x47bcf2
mov ecx, dword [esp + 0x84]
mov dword [ecx + 0xc], eax
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x14]
push 2
push edx
push edi
call dword [edi + 0x58]
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x47bd6c
mov eax, dword [esp + 0x10]
push 2
push eax
push edi
call dword [edi + 0x58]
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x47bd6c
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x80]
push ebp
mov edx, dword [ecx + 8]
push edx
push eax
call fcn.004765a0
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x47bd6c
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x80]
push ecx
push edx
call fcn.00464560
mov esi, eax
mov eax, dword [esp + 0x8c]
add esp, 8
mov dword [esp + 0x10], 0
test esi, esi
jne 0x47bd77
jmp 0x47bd7f
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x20], 1
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x47bda3
mov ecx, dword [esp + 0x80]
lea eax, [esp + 0x2c]
push eax
push ecx
call fcn.004649a0
mov eax, dword [esp + 0x8c]
add esp, 8
test eax, eax
je 0x47bdbb
push 0
push eax
push edi
call dword [edi + 0x50]
add esp, 0xc
test eax, eax
je 0x47bdbb
test esi, esi
jne 0x47bdbb
mov esi, eax
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x47bdd8
mov eax, dword [esp + 0x80]
lea edx, [esp + 0x3c]
push edx
push eax
call fcn.004649a0
add esp, 8
mov eax, dword [esp + 0x10]
test eax, eax
je 0x47bdf4
push 0
push eax
push edi
call dword [edi + 0x50]
add esp, 0xc
test eax, eax
je 0x47bdf4
test esi, esi
jne 0x47bdf4
mov esi, eax
mov eax, dword [esp + 0x20]
test eax, eax
je 0x47b9f6
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x6c
ret