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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x1fc
mov eax, dword [0x5328d0]
xor eax, ebp
mov dword [ebp - 4], eax
and dword [ebp - 0x1c8], 0
push ebx
mov ebx, ecx
push esi
mov esi, edx
push edi
cmp dword [ebx + 0x1808], 3
mov dword [ebp - 0x1ec], esi
je 0x47cbc0
mov edx, 0xc000042a
jmp 0x47d5ba
mov ecx, dword [ebx + 0x18b8]
push 4
push 0xac
call fcn.004460b0
mov edi, eax
test edi, edi
je 0x47cbdf
mov ecx, edi
call fcn.00486779
mov dword [esi], edi
test edi, edi
jne 0x47cc25
mov esi, 0xc0000017
mov dword [ebp - 0x1e4], 0x41ff00
push esi
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 0x1e0], 0x4225e0
mov dword [ebp - 0x1dc], 0x1d56
mov dword [ebp - 0x1d8], 0x422604
call fcn.004de872
mov eax, esi
jmp 0x47d5c4
mov ecx, ebx
call fcn.0046c72f
mov ecx, ebx
mov al, byte [eax + 0x3c]
mov byte [ebp - 0x1ed], al
call fcn.0046c72f
mov ecx, dword [0x40b4d0]
lea edi, [ebp - 0x18]
push 0xd
mov dword [ebp - 0x1b8], ecx
mov edx, dword [eax + 0x38]
xor eax, eax
stosd dword es:[edi], eax
mov dword [ebp - 0x1c8], edx
mov dword [ebp - 0x1ac], 0xe
mov dword [ebp - 0x1a8], 0x422640
stosd dword es:[edi], eax
mov dword [ebp - 0x1a4], ecx
mov dword [ebp - 0x19c], 0xf
mov dword [ebp - 0x198], 0x10
stosd dword es:[edi], eax
mov dword [ebp - 0x194], 0x422650
mov dword [ebp - 0x190], ecx
mov dword [ebp - 0x188], 0xb
stosd dword es:[edi], eax
mov dword [ebp - 0x184], 0xc
mov dword [ebp - 0x180], 0x419c30
mov dword [ebp - 0x17c], ecx
stosb byte es:[edi], al
mov eax, dword [0x40b4d4]
pop edi
push 0xa
mov dword [ebp - 0x1b0], edi
mov dword [ebp - 0x15c], edi
pop edi
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x174], 0xb
mov dword [ebp - 0x170], 0xc
mov dword [ebp - 0x16c], 0x419bec
mov dword [ebp - 0x168], ecx
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x160], 0xc
mov dword [ebp - 0x158], 0x422660
mov dword [ebp - 0x154], ecx
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], 0x12
mov dword [ebp - 0x148], 0x13
mov dword [ebp - 0x144], 0x422670
mov dword [ebp - 0x140], ecx
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], 5
mov dword [ebp - 0x134], 6
mov dword [ebp - 0x130], 0x4208cc
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], 9
mov dword [ebp - 0x120], edi
mov dword [ebp - 0x11c], 0x419b88
mov dword [ebp - 0x118], ecx
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x110], 0xf
mov dword [ebp - 0x10c], 0x10
mov dword [ebp - 0x108], 0x422684
mov dword [ebp - 0x104], ecx
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xfc], 4
mov dword [ebp - 0xf8], 5
mov dword [ebp - 0xf4], 0x418c10
mov dword [ebp - 0xf0], ecx
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe8], edi
mov dword [ebp - 0xe4], 0xb
mov dword [ebp - 0xe0], 0x422694
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], 0x12
mov dword [ebp - 0xd0], 0x13
mov dword [ebp - 0xcc], 0x4226a0
push 5
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0xb0], eax
pop edi
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x78], ecx
mov ecx, dword [ebx + 0x18c4]
mov dword [ebp - 0x74], eax
mov eax, dword [ebx + 0x18c8]
mov dword [ebp - 0xc0], 7
mov dword [ebp - 0xbc], 8
mov dword [ebp - 0xb8], 0x4226b4
mov dword [ebp - 0xac], edi
mov dword [ebp - 0xa8], 6
mov dword [ebp - 0xa4], 0x41fcc0
mov dword [ebp - 0x98], 3
mov dword [ebp - 0x94], 4
mov dword [ebp - 0x90], 0x4226bc
mov dword [ebp - 0x84], 4
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x7c], 0x418bbc
mov dword [ebp - 0x70], 0x11
mov dword [ebp - 0x6c], 0x12
mov dword [ebp - 0x68], 0x4226c0
cmp ecx, eax
je 0x47cf1d
sub eax, 8
cmp ecx, eax
jne 0x47cf10
mov dword [ebx + 0x18c8], eax
xor eax, eax
test edx, edx
mov dword [ebp - 0x1f4], eax
je 0x47d3dd
lea ecx, [ebx + 0x904]
push eax
call fcn.00485fd0
mov edi, eax
cmp byte [edi + 0x48], 0
jne 0x47d3c1
cmp byte [edi + 0x49], 0
jne 0x47d3c1
mov eax, dword [edi + 0x10]
lea edx, [ebp - 0x1d4]
mov ecx, dword [edi + 0x14]
and dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1c], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x1d4], eax
mov dword [ebp - 0x1d0], eax
mov eax, dword [edi]
mov dword [ebp - 0x1cc], eax
lea eax, [ebp - 0x1f8]
push eax
lea eax, [ebp - 0x1b8]
mov dword [ebp - 0x24], ecx
push eax
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x24]
push 0x11
call fcn.004dbdd2
test eax, eax
js 0x47d5c4
mov eax, dword [ebp - 0x1f8]
mov ecx, ebx
cmp eax, 0x11
jae 0x47d3a0
cmp byte [ebp + eax - 0x18], 0
jne 0x47d3d3
lea esi, [edi + 0x20]
mov byte [ebp + eax - 0x18], 1
sub esp, 0x10
lea eax, [ebp - 0x1c4]
mov edi, esp
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.004dbfad
test eax, eax
js 0x47d5c4
mov eax, dword [ebp - 0x1f8]
mov byte [ebp - 0x1e5], 0
cmp eax, 0x10
ja case.default.0x47cff9
jmp dword [eax*4 + 0x47d5d4]
mov esi, dword [ebp - 0x1ec]
lea eax, [ebp - 0x1e5]
push eax
lea eax, [ebp - 0x1c4]
mov ecx, ebx
push dword [esi]
push eax
push dword [ebx + 0x18b8]
call fcn.004dc09c
test eax, eax
js 0x47d5c4
mov eax, dword [esi]
mov byte [eax + 0x9d], 1
jmp 0x47d38d
mov esi, dword [ebp - 0x1ec]
lea eax, [ebp - 0x1e5]
push eax
mov ecx, ebx
mov eax, dword [esi]
add eax, 0xc
push eax
lea eax, [ebp - 0x1c4]
push eax
push dword [ebx + 0x18b8]
call fcn.004dc09c
test eax, eax
js 0x47d5c4
mov eax, dword [esi]
mov byte [eax + 0x9e], 1
jmp 0x47d38d
mov esi, dword [ebp - 0x1ec]
lea eax, [ebp - 0x1e5]
push eax
mov ecx, ebx
mov eax, dword [esi]
add eax, 0x18
push eax
lea eax, [ebp - 0x1c4]
push eax
push dword [ebx + 0x18b8]
call fcn.004dc09c
test eax, eax
js 0x47d5c4
mov eax, dword [esi]
mov byte [eax + 0x9f], 1
jmp 0x47d38d
mov esi, dword [ebp - 0x1ec]
lea eax, [ebp - 0x1e5]
push eax
mov ecx, ebx
mov eax, dword [esi]
add eax, 0x24
push eax
lea eax, [ebp - 0x1c4]
push eax
push dword [ebx + 0x18b8]
call fcn.004dc09c
test eax, eax
js 0x47d5c4
mov eax, dword [esi]
mov byte [eax + 0xa0], 1
jmp 0x47d38d
mov esi, dword [ebp - 0x1ec]
lea eax, [ebp - 0x1e5]
push eax
lea edx, [ebp - 0x1c4]
mov eax, dword [esi]
add eax, 0x30
push eax
call fcn.0046cd4a
test eax, eax
js 0x47d5c4
jmp 0x47d38d
mov esi, dword [ebp - 0x1ec]
lea eax, [ebp - 0x1e5]
push eax
lea edx, [ebp - 0x1c4]
mov eax, dword [esi]
add eax, 0x9c
push eax
call fcn.004dbf39
test eax, eax
js 0x47d5c4
mov eax, dword [esi]
mov byte [eax + 0xa1], 1
jmp 0x47d38d
mov esi, dword [ebp - 0x1ec]
lea eax, [ebp - 0x1e5]
push eax
mov ecx, ebx
mov eax, dword [esi]
add eax, 0x34
push eax
lea eax, [ebp - 0x1c4]
push eax
push dword [ebx + 0x18b8]
call fcn.004dc09c
test eax, eax
js 0x47d5c4
mov eax, dword [esi]
mov byte [eax + 0xa2], 1
jmp 0x47d38d
mov esi, dword [ebp - 0x1ec]
lea eax, [ebp - 0x1e5]
push eax
mov ecx, ebx
mov eax, dword [esi]
add eax, 0x40
push eax
lea eax, [ebp - 0x1c4]
push eax
push dword [ebx + 0x18b8]
call fcn.004dc09c
test eax, eax
js 0x47d5c4
mov eax, dword [esi]
mov byte [eax + 0xa3], 1
jmp 0x47d38d
mov esi, dword [ebp - 0x1ec]
lea eax, [ebp - 0x1e5]
push eax
lea edx, [ebp - 0x1c4]
mov eax, dword [esi]
add eax, 0x4c
push eax
call fcn.0046cdf1
test eax, eax
js 0x47d5c4
mov eax, dword [esi]
mov byte [eax + 0xa4], 1
jmp 0x47d38d
mov esi, dword [ebp - 0x1ec]
lea eax, [ebp - 0x1e5]
push eax
mov ecx, ebx
mov eax, dword [esi]
add eax, 0x50
push eax
lea eax, [ebp - 0x1c4]
push eax
push dword [ebx + 0x18b8]
call fcn.004dc09c
jmp 0x47d10e
mov esi, dword [ebp - 0x1ec]
lea eax, [ebp - 0x1e5]
push eax
mov ecx, ebx
mov eax, dword [esi]
add eax, 0x5c
push eax
lea eax, [ebp - 0x1c4]
push eax
push dword [ebx + 0x18b8]
call fcn.004dc09c
test eax, eax
js 0x47d5c4
mov eax, dword [esi]
mov byte [eax + 0xa5], 1
jmp 0x47d38d
mov esi, dword [ebp - 0x1ec]
lea eax, [ebp - 0x1e5]
push eax
mov ecx, ebx
mov eax, dword [esi]
add eax, 0x68
push eax
lea eax, [ebp - 0x1c4]
push eax
push dword [ebx + 0x18b8]
call fcn.004dc09c
test eax, eax
js 0x47d5c4
mov eax, dword [esi]
mov byte [eax + 0xa6], 1
jmp 0x47d38d
mov esi, dword [ebp - 0x1ec]
lea eax, [ebp - 0x1e5]
push eax
lea edx, [ebp - 0x1c4]
mov eax, dword [esi]
add eax, 0x74
push eax
call fcn.0046cea6
test eax, eax
js 0x47d5c4
mov eax, dword [esi]
mov byte [eax + 0xa7], 1
jmp 0x47d38d
mov esi, dword [ebp - 0x1ec]
lea eax, [ebp - 0x1e5]
push eax
lea edx, [ebp - 0x1c4]
mov eax, dword [esi]
add eax, 0x78
push eax
call fcn.0046cf3f
jmp 0x47d10e
mov eax, dword [ebp - 0x1ec]
lea esi, [ebp - 0x1c4]
lea edi, [ebp - 0x1e0]
movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x1e0]
mov eax, dword [eax]
add eax, 0x7c
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call fcn.00486568
mov esi, dword [ebp - 0x1ec]
mov byte [ebp - 0x1e5], al
mov eax, dword [esi]
mov byte [eax + 0xa8], 1
jmp 0x47d38d
mov esi, dword [ebp - 0x1ec]
lea eax, [ebp - 0x1e5]
push eax
lea edx, [ebp - 0x1c4]
mov eax, dword [esi]
sub eax, 0xffffff80
push eax
call fcn.0046d012
jmp 0x47d10e
mov esi, dword [ebp - 0x1ec]
lea eax, [ebp - 0x1e5]
push eax
lea edx, [ebp - 0x1c4]
mov eax, dword [esi]
add eax, 0x84
push eax
call fcn.0046d7ab
test eax, eax
js 0x47d5c4
mov eax, dword [esi]
mov byte [eax + 0xa9], 1
cmp byte [ebp - 0x1e5], 0
jne 0x47d3c1
mov edx, 0xc00000b9
jmp 0x47d5b8
test byte [ebx + 0x18c0], 2
je 0x47d3d3
lea eax, [ebp - 0x1d4]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.004dc108
test eax, eax
js 0x47d5c4
mov eax, dword [ebp - 0x1f4]
inc eax
cmp eax, dword [ebp - 0x1c8]
jmp 0x47cf21
mov edx, 0xc00000a4
jmp 0x47d5ba
cmp byte [ebp - 0x14], 0
je 0x47d5b3
cmp byte [ebp - 0xf], 0
je 0x47d5b3
cmp byte [ebp - 0xb], 0
je 0x47d5b3
cmp byte [ebp - 9], 0
je 0x47d5b3
mov ecx, ebx
call fcn.004dc350
test eax, eax
js 0x47d5c4
mov ecx, dword [0x4106b0]
lea edi, [ebp - 0x24]
xor eax, eax
mov dword [ebp - 0x60], ecx
stosd dword es:[edi], eax
push 0xe
mov dword [ebp - 0x50], 0x4226d4
mov dword [ebp - 0x4c], ecx
stosd dword es:[edi], eax
mov dword [ebp - 0x44], 0x12
mov dword [ebp - 0x40], 0x13
mov dword [ebp - 0x3c], 0x41b9d4
stosd dword es:[edi], eax
mov eax, dword [0x4106b4]
pop edi
mov dword [ebp - 0x5c], eax
push 0xf
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x34], eax
mov al, byte [ebp - 0x1ed]
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x28], 0x4226e4
pop edx
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x2c], edx
test al, al
jne 0x47d5a1
mov edi, dword [esi]
add edi, 0x90
cmp dword [ebx + 0x1808], 3
jne 0x47d585
mov ecx, ebx
call fcn.0046c72f
and dword [ebp - 0x1f4], 0
lea edx, [ebp - 0x1d4]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x1c4], ecx
mov dword [ebp - 0x1c0], ecx
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x1bc], ecx
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [ebp - 0x1cc], eax
lea eax, [ebp - 0x1f4]
push eax
lea eax, [ebp - 0x60]
mov dword [ebp - 0x1d4], ecx
push eax
mov dword [ebp - 0x1d0], ecx
lea ecx, [ebp - 0x1c4]
push 3
call fcn.004dbdd2
test eax, eax
js 0x47d5c4
mov eax, dword [ebp - 0x1f4]
cmp eax, 3
jae 0x47d503
inc dword [ebp + eax*4 - 0x24]
mov ecx, ebx
sub eax, 0
je 0x47d55b
sub eax, 1
je 0x47d546
sub eax, 1
je 0x47d528
test byte [ebx + 0x18c0], 2
je 0x47d5a5
call fcn.004dc435
jmp 0x47d56e
mov edx, edi
call fcn.0047c73e
test eax, eax
js 0x47d5c4
mov eax, dword [esi]
mov edi, dword [edi]
add edi, 0x20
inc dword [eax + 0x94]
jmp 0x47d572
cmp dword [ebp - 0x20], 1
jne 0x47d5ac
mov edx, dword [esi]
add edx, 0x8c
call fcn.0047c21b
jmp 0x47d56e
cmp dword [ebp - 0x24], 1
jne 0x47d5ac
mov edx, dword [esi]
add edx, 0x88
call fcn.0047bde4
test eax, eax
js 0x47d5c4
cmp dword [ebx + 0x1808], 3
je 0x47d491
mov al, byte [ebp - 0x1ed]
test al, al
jne 0x47d5a1
cmp dword [ebx + 0x1808], 4
mov ecx, ebx
jne 0x47cbb6
call fcn.004dc350
test eax, eax
js 0x47d5c4
xor eax, eax
jmp 0x47d5c4
mov edx, 0xc0000024
jmp 0x47d5ba
mov edx, 0xc00000bd
jmp 0x47d5ba
mov edx, 0xc0000225
mov ecx, ebx
call fcn.004dc331
test eax, eax
js 0x47d5c4
int3
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0050e82a
leave
ret