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

Disassembly:
mov eax, 0xb4
call fcn.006021b0
mov dword [esp + 0x64], ecx
lea ecx, [esp + 0x68]
push ebx
mov ebx, dword [esp + 0xc0]
push ebp
push esi
mov eax, dword [ebx]
push edi
mov esi, edx
push eax
mov dword [esp + 0x24], esi
call fcn.00513f68
mov al, byte [esi + 0x10]
mov ecx, dword [ebx]
xor ebp, ebp
xor edi, edi
push ebp
mov dword [esp + 0x44], ebp
test al, 2
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x2c], ecx
push 0x3a
jne 0x4772f0
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x4772f8
mov ecx, dword [esi + 8]
call fcn.004ebdf0
mov eax, dword [eax + 8]
mov ecx, dword [ebx]
mov eax, dword [eax]
push eax
mov dword [esp + 0x30], eax
call fcn.00408410
mov ecx, eax
call fcn.00436cd0
mov esi, eax
push ebp
push 0xe1
test byte [esi + 0x10], 2
jne 0x477327
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x47732f
mov ecx, dword [esi + 8]
call fcn.004ebdf0
mov dword [esp + 0x14], eax
mov al, byte [esi + 0x10]
push ebp
push 0x83
test al, 2
jne 0x477349
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
jmp 0x477351
mov ecx, dword [esi + 8]
call fcn.004ebdf0
cmp eax, ebp
je 0x47796b
mov al, byte [esi + 0x10]
push ebp
test al, 2
push 0x84
jne 0x47736f
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x477377
mov ecx, dword [esi + 8]
call fcn.004ebdf0
cmp eax, ebp
je 0x477380
mov edi, 1
mov al, byte [esi + 0x10]
push ebp
test al, 2
push 0x85
jne 0x477396
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
jmp 0x47739e
mov ecx, dword [esi + 8]
call fcn.004ebdf0
cmp eax, ebp
je 0x4773aa
mov dword [esp + 0x24], 1
cmp edi, ebp
je 0x47773c
mov esi, dword [esp + 0x20]
test byte [esi + 0x10], 2
jne 0x4773c8
mov edx, dword [esi]
push 0xe1
mov ecx, esi
call dword [edx + 0x10]
mov ecx, dword [esi + 8]
push 0xe1
call fcn.004ec054
mov esi, eax
cmp esi, ebp
je 0x47796b
mov ebx, dword [esp + 0x20]
mov ecx, 0x11
xor eax, eax
lea edi, [esp + 0x30]
push ebp
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x30]
push 0x49
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xd4]
mov ecx, dword [eax + 0x35]
mov edx, dword [eax]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], edx
test byte [esi + 0x10], 2
jne 0x47741e
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
jmp 0x477426
mov ecx, dword [esi + 8]
call fcn.004ebdf0
mov eax, dword [eax + 8]
push ebp
push 0x31
mov ecx, dword [eax]
mov dword [esp + 0x48], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x4c], edx
mov eax, dword [eax + 8]
mov dword [esp + 0x50], eax
mov al, byte [esi + 0x10]
test al, 2
jne 0x477450
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x477458
mov ecx, dword [esi + 8]
call fcn.004ebdf0
cmp eax, ebp
je 0x477466
mov eax, dword [eax + 8]
movsx ecx, word [eax]
mov dword [esp + 0x4c], ecx
mov al, byte [esi + 0x10]
push ebp
test al, 2
push 0x32
jne 0x477479
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x477481
mov ecx, dword [esi + 8]
call fcn.004ebdf0
cmp eax, ebp
je 0x47748f
mov eax, dword [eax + 8]
movsx ecx, word [eax]
mov dword [esp + 0x50], ecx
cmp dword [esp + 0x24], ebp
je 0x4775ae
mov al, byte [esi + 0x10]
push ebp
test al, 2
push 0x33
jne 0x4774ac
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x4774b4
mov ecx, dword [esi + 8]
call fcn.004ebdf0
cmp eax, ebp
je 0x4774ea
mov eax, dword [eax + 8]
push ebp
push 0x39
movsx ecx, word [eax]
mov dword [esp + 0x5c], ecx
mov al, byte [esi + 0x10]
test al, 2
jne 0x4774d5
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x4774dd
mov ecx, dword [esi + 8]
call fcn.004ebdf0
cmp eax, ebp
je 0x4774ea
mov eax, dword [eax + 8]
mov ecx, dword [eax]
mov dword [esp + 0x58], ecx
mov al, byte [esi + 0x10]
push ebp
test al, 2
push 0x34
jne 0x4774fd
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x477505
mov ecx, dword [esi + 8]
call fcn.004ebdf0
cmp eax, ebp
je 0x47753b
mov eax, dword [eax + 8]
push ebp
push 0x3a
movsx ecx, word [eax]
mov dword [esp + 0x64], ecx
mov al, byte [esi + 0x10]
test al, 2
jne 0x477526
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x47752e
mov ecx, dword [esi + 8]
call fcn.004ebdf0
cmp eax, ebp
je 0x47753b
mov eax, dword [eax + 8]
mov ecx, dword [eax]
mov dword [esp + 0x60], ecx
mov al, byte [esi + 0x10]
push ebp
test al, 2
push 0x3b
jne 0x47754e
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x477556
mov ecx, dword [esi + 8]
call fcn.004ebdf0
cmp eax, ebp
je 0x477563
mov eax, dword [eax + 8]
mov ecx, dword [eax]
mov dword [esp + 0x64], ecx
mov al, byte [esi + 0x10]
push ebp
test al, 2
push 0x35
jne 0x477576
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x47757e
mov ecx, dword [esi + 8]
call fcn.004ebdf0
cmp eax, ebp
je 0x4776b5
mov eax, dword [eax + 8]
push ebp
push 0x4a
movsx ecx, word [eax]
mov dword [esp + 0x70], ecx
mov al, byte [esi + 0x10]
test al, 2
jne 0x4775a6
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x4776a1
mov ecx, dword [esi + 8]
jmp 0x47769c
mov edi, dword [esp + 0x14]
cmp edi, ebp
je 0x4776b5
test byte [edi + 0x10], 2
jne 0x4775cc
mov eax, dword [edi]
push 0xe1
mov ecx, edi
call dword [eax + 0x10]
mov ecx, dword [edi + 8]
push 0xe1
call fcn.004ec054
mov edi, eax
cmp edi, ebp
je 0x4776b5
mov al, byte [edi + 0x10]
push ebp
test al, 2
push 0x33
jne 0x4775f6
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 8]
jmp 0x4775fe
mov ecx, dword [edi + 8]
call fcn.004ebdf0
cmp eax, ebp
je 0x477634
mov eax, dword [eax + 8]
push ebp
push 0x39
movsx ecx, word [eax]
mov dword [esp + 0x5c], ecx
mov al, byte [edi + 0x10]
test al, 2
jne 0x47761f
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 8]
jmp 0x477627
mov ecx, dword [edi + 8]
call fcn.004ebdf0
cmp eax, ebp
je 0x477634
mov eax, dword [eax + 8]
mov ecx, dword [eax]
mov dword [esp + 0x58], ecx
mov al, byte [edi + 0x10]
push ebp
test al, 2
push 0x34
jne 0x477647
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 8]
jmp 0x47764f
mov ecx, dword [edi + 8]
call fcn.004ebdf0
cmp eax, ebp
je 0x47765d
mov eax, dword [eax + 8]
movsx ecx, word [eax]
mov dword [esp + 0x5c], ecx
mov al, byte [edi + 0x10]
push ebp
test al, 2
push 0x35
jne 0x477670
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 8]
jmp 0x477678
mov ecx, dword [edi + 8]
call fcn.004ebdf0
cmp eax, ebp
je 0x4776b5
mov eax, dword [eax + 8]
push ebp
push 0x4a
movsx ecx, word [eax]
mov dword [esp + 0x70], ecx
mov al, byte [edi + 0x10]
test al, 2
jne 0x477699
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 8]
jmp 0x4776a1
mov ecx, dword [edi + 8]
call fcn.004ebdf0
cmp eax, ebp
je 0x4776b5
mov eax, dword [eax + 8]
mov ecx, dword [eax]
mov dword [esp + 0x6c], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x70], edx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x1c], ebp
call fcn.00407240
mov eax, dword [eax]
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0xd0]
push eax
lea eax, [esp + 0x20]
push eax
push ecx
lea eax, [esp + 0x3c]
push edx
push eax
mov edx, ebx
lea ecx, [esp + 0x8c]
call fcn.00476dd0
cmp dword [esp + 0x10], ebp
jne 0x4776f7
mov dword [esp + 0x10], eax
cmp dword [esp + 0x18], ebp
jne 0x477705
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x24], ebp
je 0x47796b
mov ebx, dword [esp + 0x20]
test byte [ebx + 0x10], 2
jne 0x477724
mov eax, dword [esi + 4]
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x10]
mov ecx, dword [ebx + 8]
push esi
call fcn.004ec11c
mov esi, eax
cmp esi, ebp
jne 0x4773e3
jmp 0x47796b
mov eax, dword [esp + 0x14]
cmp eax, ebp
je 0x47796b
mov esi, eax
test byte [esi + 0x10], 2
jne 0x47775c
mov edx, dword [esi]
push 0xe1
mov ecx, esi
call dword [edx + 0x10]
mov ecx, dword [esi + 8]
push 0xe1
call fcn.004ec054
mov esi, eax
cmp esi, ebp
je 0x47796b
mov ebx, dword [esp + 0xd4]
mov ecx, 0x11
xor eax, eax
lea edi, [esp + 0x30]
push ebp
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x30]
push 0x49
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xd4]
mov ecx, dword [eax + 0x35]
mov edx, dword [eax]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], edx
test byte [esi + 0x10], 2
jne 0x4777b5
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
jmp 0x4777bd
mov ecx, dword [esi + 8]
call fcn.004ebdf0
mov eax, dword [eax + 8]
push ebp
push 0x31
mov ecx, dword [eax]
mov dword [esp + 0x48], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x4c], edx
mov eax, dword [eax + 8]
mov dword [esp + 0x50], eax
mov al, byte [esi + 0x10]
test al, 2
jne 0x4777e7
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x4777ef
mov ecx, dword [esi + 8]
call fcn.004ebdf0
cmp eax, ebp
je 0x4777fd
mov eax, dword [eax + 8]
movsx ecx, word [eax]
mov dword [esp + 0x4c], ecx
mov al, byte [esi + 0x10]
push ebp
test al, 2
push 0x32
jne 0x477810
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x477818
mov ecx, dword [esi + 8]
call fcn.004ebdf0
cmp eax, ebp
je 0x477826
mov eax, dword [eax + 8]
movsx ecx, word [eax]
mov dword [esp + 0x50], ecx
mov al, byte [esi + 0x10]
push ebp
test al, 2
push 0x33
jne 0x477839
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x477841
mov ecx, dword [esi + 8]
call fcn.004ebdf0
cmp eax, ebp
je 0x477877
mov eax, dword [eax + 8]
push ebp
push 0x39
movsx ecx, word [eax]
mov dword [esp + 0x5c], ecx
mov al, byte [esi + 0x10]
test al, 2
jne 0x477862
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x47786a
mov ecx, dword [esi + 8]
call fcn.004ebdf0
cmp eax, ebp
je 0x477877
mov eax, dword [eax + 8]
mov ecx, dword [eax]
mov dword [esp + 0x58], ecx
mov al, byte [esi + 0x10]
push ebp
test al, 2
push 0x34
jne 0x47788a
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x477892
mov ecx, dword [esi + 8]
call fcn.004ebdf0
cmp eax, ebp
je 0x4778a0
mov eax, dword [eax + 8]
movsx ecx, word [eax]
mov dword [esp + 0x5c], ecx
mov al, byte [esi + 0x10]
push ebp
test al, 2
push 0x35
jne 0x4778b3
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x4778bb
mov ecx, dword [esi + 8]
call fcn.004ebdf0
cmp eax, ebp
je 0x4778f8
mov eax, dword [eax + 8]
push ebp
push 0x4a
movsx ecx, word [eax]
mov dword [esp + 0x70], ecx
mov al, byte [esi + 0x10]
test al, 2
jne 0x4778dc
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x4778e4
mov ecx, dword [esi + 8]
call fcn.004ebdf0
cmp eax, ebp
je 0x4778f8
mov eax, dword [eax + 8]
mov ecx, dword [eax]
mov dword [esp + 0x6c], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x70], edx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x1c], ebp
call fcn.00407240
mov eax, dword [eax]
mov ecx, dword [esp + 0xd0]
push eax
lea eax, [esp + 0x20]
push eax
push ebx
lea edx, [esp + 0x3c]
push ecx
push edx
mov edx, dword [esp + 0x34]
lea ecx, [esp + 0x8c]
call fcn.00476dd0
cmp dword [esp + 0x10], ebp
jne 0x477935
mov dword [esp + 0x10], eax
cmp dword [esp + 0x18], ebp
jne 0x477943
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x14]
test byte [edi + 0x10], 2
jne 0x477958
mov eax, dword [esi + 4]
mov edx, dword [edi]
push eax
mov ecx, edi
call dword [edx + 0x10]
mov ecx, dword [edi + 8]
push esi
call fcn.004ec11c
mov esi, eax
cmp esi, ebp
jne 0x47777a
lea ecx, [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x78]
push 4
call fcn.004ffc7c
mov eax, dword [esp + 0xd8]
pop edi
cmp eax, ebp
pop esi
pop ebp
pop ebx
je 0x477990
mov edx, dword [esp + 8]
mov dword [eax], edx
mov eax, dword [esp]
add esp, 0xb4
ret 0x14