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

Disassembly:
mov eax, 0xb4
call fcn.00602270
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.00513fa0
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 0x4772c0
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x4772c8
mov ecx, dword [esi + 8]
call fcn.004ebda0
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.00436ce0
mov esi, eax
push ebp
push 0xe1
test byte [esi + 0x10], 2
jne 0x4772f7
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x4772ff
mov ecx, dword [esi + 8]
call fcn.004ebda0
mov dword [esp + 0x14], eax
mov al, byte [esi + 0x10]
push ebp
push 0x83
test al, 2
jne 0x477319
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
jmp 0x477321
mov ecx, dword [esi + 8]
call fcn.004ebda0
cmp eax, ebp
je 0x47793b
mov al, byte [esi + 0x10]
push ebp
test al, 2
push 0x84
jne 0x47733f
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x477347
mov ecx, dword [esi + 8]
call fcn.004ebda0
cmp eax, ebp
je 0x477350
mov edi, 1
mov al, byte [esi + 0x10]
push ebp
test al, 2
push 0x85
jne 0x477366
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
jmp 0x47736e
mov ecx, dword [esi + 8]
call fcn.004ebda0
cmp eax, ebp
je 0x47737a
mov dword [esp + 0x24], 1
cmp edi, ebp
je 0x47770c
mov esi, dword [esp + 0x20]
test byte [esi + 0x10], 2
jne 0x477398
mov edx, dword [esi]
push 0xe1
mov ecx, esi
call dword [edx + 0x10]
mov ecx, dword [esi + 8]
push 0xe1
call fcn.004ec004
mov esi, eax
cmp esi, ebp
je 0x47793b
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 0x4773ee
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
jmp 0x4773f6
mov ecx, dword [esi + 8]
call fcn.004ebda0
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 0x477420
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x477428
mov ecx, dword [esi + 8]
call fcn.004ebda0
cmp eax, ebp
je 0x477436
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 0x477449
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x477451
mov ecx, dword [esi + 8]
call fcn.004ebda0
cmp eax, ebp
je 0x47745f
mov eax, dword [eax + 8]
movsx ecx, word [eax]
mov dword [esp + 0x50], ecx
cmp dword [esp + 0x24], ebp
je 0x47757e
mov al, byte [esi + 0x10]
push ebp
test al, 2
push 0x33
jne 0x47747c
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x477484
mov ecx, dword [esi + 8]
call fcn.004ebda0
cmp eax, ebp
je 0x4774ba
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 0x4774a5
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x4774ad
mov ecx, dword [esi + 8]
call fcn.004ebda0
cmp eax, ebp
je 0x4774ba
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 0x4774cd
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x4774d5
mov ecx, dword [esi + 8]
call fcn.004ebda0
cmp eax, ebp
je 0x47750b
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 0x4774f6
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x4774fe
mov ecx, dword [esi + 8]
call fcn.004ebda0
cmp eax, ebp
je 0x47750b
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 0x47751e
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x477526
mov ecx, dword [esi + 8]
call fcn.004ebda0
cmp eax, ebp
je 0x477533
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 0x477546
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x47754e
mov ecx, dword [esi + 8]
call fcn.004ebda0
cmp eax, ebp
je 0x477685
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 0x477576
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x477671
mov ecx, dword [esi + 8]
jmp 0x47766c
mov edi, dword [esp + 0x14]
cmp edi, ebp
je 0x477685
test byte [edi + 0x10], 2
jne 0x47759c
mov eax, dword [edi]
push 0xe1
mov ecx, edi
call dword [eax + 0x10]
mov ecx, dword [edi + 8]
push 0xe1
call fcn.004ec004
mov edi, eax
cmp edi, ebp
je 0x477685
mov al, byte [edi + 0x10]
push ebp
test al, 2
push 0x33
jne 0x4775c6
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 8]
jmp 0x4775ce
mov ecx, dword [edi + 8]
call fcn.004ebda0
cmp eax, ebp
je 0x477604
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 0x4775ef
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 8]
jmp 0x4775f7
mov ecx, dword [edi + 8]
call fcn.004ebda0
cmp eax, ebp
je 0x477604
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 0x477617
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 8]
jmp 0x47761f
mov ecx, dword [edi + 8]
call fcn.004ebda0
cmp eax, ebp
je 0x47762d
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 0x477640
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 8]
jmp 0x477648
mov ecx, dword [edi + 8]
call fcn.004ebda0
cmp eax, ebp
je 0x477685
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 0x477669
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 8]
jmp 0x477671
mov ecx, dword [edi + 8]
call fcn.004ebda0
cmp eax, ebp
je 0x477685
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.00476da0
cmp dword [esp + 0x10], ebp
jne 0x4776c7
mov dword [esp + 0x10], eax
cmp dword [esp + 0x18], ebp
jne 0x4776d5
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x24], ebp
je 0x47793b
mov ebx, dword [esp + 0x20]
test byte [ebx + 0x10], 2
jne 0x4776f4
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.004ec0cc
mov esi, eax
cmp esi, ebp
jne 0x4773b3
jmp 0x47793b
mov eax, dword [esp + 0x14]
cmp eax, ebp
je 0x47793b
mov esi, eax
test byte [esi + 0x10], 2
jne 0x47772c
mov edx, dword [esi]
push 0xe1
mov ecx, esi
call dword [edx + 0x10]
mov ecx, dword [esi + 8]
push 0xe1
call fcn.004ec004
mov esi, eax
cmp esi, ebp
je 0x47793b
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 0x477785
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
jmp 0x47778d
mov ecx, dword [esi + 8]
call fcn.004ebda0
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 0x4777b7
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x4777bf
mov ecx, dword [esi + 8]
call fcn.004ebda0
cmp eax, ebp
je 0x4777cd
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 0x4777e0
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x4777e8
mov ecx, dword [esi + 8]
call fcn.004ebda0
cmp eax, ebp
je 0x4777f6
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 0x477809
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x477811
mov ecx, dword [esi + 8]
call fcn.004ebda0
cmp eax, ebp
je 0x477847
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 0x477832
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x47783a
mov ecx, dword [esi + 8]
call fcn.004ebda0
cmp eax, ebp
je 0x477847
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 0x47785a
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x477862
mov ecx, dword [esi + 8]
call fcn.004ebda0
cmp eax, ebp
je 0x477870
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 0x477883
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x47788b
mov ecx, dword [esi + 8]
call fcn.004ebda0
cmp eax, ebp
je 0x4778c8
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 0x4778ac
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp 0x4778b4
mov ecx, dword [esi + 8]
call fcn.004ebda0
cmp eax, ebp
je 0x4778c8
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.00476da0
cmp dword [esp + 0x10], ebp
jne 0x477905
mov dword [esp + 0x10], eax
cmp dword [esp + 0x18], ebp
jne 0x477913
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x14]
test byte [edi + 0x10], 2
jne 0x477928
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.004ec0cc
mov esi, eax
cmp esi, ebp
jne 0x47774a
lea ecx, [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x78]
push 4
call fcn.004ffcbc
mov eax, dword [esp + 0xd8]
pop edi
cmp eax, ebp
pop esi
pop ebp
pop ebx
je 0x477960
mov edx, dword [esp + 8]
mov dword [eax], edx
mov eax, dword [esp]
add esp, 0xb4
ret 0x14