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

Disassembly:
sub esp, 0x2f8
push ebx
push esi
mov esi, dword [esp + 0x308]
push edi
lea edi, [esp + 0x18]
push ebp
mov eax, dword [esi]
mov ecx, 0x13
mov dword [esp + 0x18], eax
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, dword [0x5091a4]
mov edx, dword [0x5091a8]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], 0x4c
cmp dword [esi + 0xc], eax
jne 0x4d78d9
mov eax, dword [esi + 0x10]
push eax
call fcn.004d8668
mov dword [esp + 0x14], eax
add esp, 4
test eax, eax
jne 0x4d78ca
push 2
push 9
call fcn.004a0048
add esp, 8
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x2f8
ret
mov eax, dword [esp + 0x10]
push eax
call dword [case.0x4e0926.42]
mov edi, eax
jmp 0x4d792d
push 2
push 0x100
call fcn.0049af08
mov dword [esp + 0x18], eax
add esp, 8
test eax, eax
jne 0x4d7909
push 2
push 9
call fcn.004a0048
add esp, 8
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x2f8
ret
mov eax, dword [esp + 0x10]
push eax
call dword [case.0x4e0926.42]
mov edi, eax
mov eax, dword [esi + 0xc]
push eax
push 0x1a66
push 0x100
push edi
call fcn.004d94e8
add esp, 0x10
mov dword [esp + 0x28], edi
test edi, edi
je 0x4d7994
push edi
call dword [0x50f98c]
test eax, eax
jle 0x4d7994
mov ebp, dword [esp + 0x28]
mov ecx, ebp
mov bl, byte [ebp + eax - 1]
mov ecx, ebp
cmp byte [ebp], 0
je 0x4d7994
cmp byte [ebp], bl
jne 0x4d7979
cmp dword [0x50411c], 0
mov eax, 1
je 0x4d796e
push ebp
call fcn.004d9528
add esp, 4
test eax, eax
je 0x4d7979
mov byte [ebp], 0
inc ebp
jmp 0x4d798e
cmp dword [0x50411c], 0
jne 0x4d7985
inc ebp
jmp 0x4d798e
push ebp
call dword [0x50fca4]
mov ebp, eax
cmp byte [ebp], 0
jne 0x4d7952
cmp dword [esi + 0x30], 0
je 0x4d79b7
mov ax, word [esi + 0x34]
lea ecx, [esp + 0x14]
push eax
push 0x5c0
push 4
push ecx
call fcn.004d94e8
add esp, 0x10
test eax, eax
jne 0x4d79c7
lea eax, [esp + 0x14]
push 0
push edi
push eax
call fcn.004d82e8
add esp, 0xc
lea eax, [esp + 0x14]
mov dword [esp + 0x58], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x4d79f7
push eax
push 0x4f0
lea eax, [esp + 0x1c8]
push 0x40
push eax
call fcn.004d94e8
lea ecx, [esp + 0x1d0]
add esp, 0x10
jmp 0x4d79fa
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x4d7a1b
mov eax, dword [esp + 0x314]
push eax
push ecx
lea ecx, [esp + 0x80]
push 0x40
push ecx
call fcn.00418858
add esp, 0x10
jmp 0x4d7a20
mov byte [esp + 0x78], 0
lea eax, [esp + 0x78]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x30c]
dec eax
cmp eax, 1
sbb eax, eax
and eax, 0xffffe802
add eax, 0x1864
mov dword [esp + 0x50], eax
call fcn.004e8eb8
test eax, eax
je 0x4d7a68
or dword [esp + 0x50], 0x80000
mov eax, dword [esi]
test eax, eax
je 0x4d7a61
add eax, 0x3e8
jmp 0x4d7a66
add eax, 0x7d0
mov dword [esi], eax
mov eax, dword [esi + 0x18]
test eax, eax
je 0x4d7a87
push 0x105
push eax
lea eax, [esp + 0x208]
push eax
call fcn.004d8498
add esp, 0xc
jmp 0x4d7a8f
mov byte [esp + 0x200], 0
mov dword [esp + 0x3c], 0x105
mov byte [esp + 0xb8], 0
lea eax, [esp + 0x200]
mov dword [esp + 0x38], eax
mov eax, dword [esi + 0x20]
cmp eax, 0xb
je 0x4d7adb
test eax, eax
je 0x4d7af2
lea ecx, [esp + 0xb8]
push 0x105
push ecx
push eax
push 0x1a8c
call fcn.004d7d38
add esp, 0x10
cmp byte [esp + 0xb8], 0
jne 0x4d7af2
lea eax, [esp + 0xb8]
push 0
push 0x105
push eax
call fcn.0048e9d8
add esp, 0xc
lea eax, [esp + 0xb8]
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], 0x4c1010
mov dword [esp + 0x48], eax
mov eax, dword [esi]
test eax, eax
je 0x4d7b18
movzx eax, ax
mov dword [esp + 0x64], eax
jmp 0x4d7b20
mov dword [esp + 0x64], 0x3e8
mov eax, dword [0x50a6f0]
mov ebx, dword [0x50a6f4]
lea edx, [esp + 0x68]
mov ebp, dword [0x50a6f8]
mov ecx, 0x50a6f0
mov dword [edx], eax
mov eax, dword [ecx + 0xc]
lea ecx, [esp + 0x1c]
mov dword [edx + 4], ebx
xor ebx, ebx
mov dword [edx + 8], ebp
mov dword [edx + 0xc], eax
mov dword [0x50a6f0], ecx
mov eax, dword [esp + 0x5c]
mov dword [0x50a6f4], ebx
mov dword [0x50a6f8], eax
lea eax, [esp + 0x1c]
mov dword [0x50a6fc], ebx
cmp dword [esp + 0x30c], 1
push eax
jne 0x4d7b7f
call 0x5122ea
jmp 0x4d7b84
call 0x5122e4
test eax, eax
jne 0x4d7bca
call 0x5122de
mov edi, eax
test edi, edi
je 0x4d7bc2
call fcn.004e8e78
test eax, eax
je 0x4d7bb7
cmp edi, 0xffff
je 0x4d7bc2
push edi
push 0x5b
call fcn.004a0048
add esp, 8
mov edi, dword [0x50a6f4]
jmp 0x4d7bcf
push edi
push 0x5b
call fcn.004a0048
add esp, 8
mov edi, dword [0x50a6f4]
jmp 0x4d7bcf
mov edi, 1
test edi, edi
je 0x4d7ce2
mov eax, dword [esi + 0x20]
test eax, eax
je 0x4d7c6d
cmp eax, 0xb
je 0x4d7c6d
mov byte [esp + 0xb8], bl
call fcn.004e8eb8
test eax, eax
je 0x4d7c12
lea eax, [esp + 0xb8]
push 0x105
push eax
call 0x505d98
add esp, 8
jmp 0x4d7c4b
cmp dword [0x50a6e8], ebx
je 0x4d7c4b
lea eax, [esp + 0xb8]
push 0x105
push eax
mov ecx, dword [0x50a6e8]
push ecx
call fcn.00485468
add esp, 0xc
mov ecx, dword [0x50a6e8]
push ecx
call fcn.00485268
add esp, 4
mov dword [0x50a6e8], ebx
cmp byte [esp + 0xb8], bl
je 0x4d7c6d
lea eax, [esp + 0xb8]
mov ecx, dword [esi + 0x20]
push eax
push ecx
push 0x1a8c
call fcn.004d7d98
add esp, 0xc
lea ebp, [esi + 0x24]
cmp dword [0x50a6fc], ebx
je 0x4d7c8a
mov eax, dword [0x50a6fc]
mov ecx, dword [ebp]
mov dword [ecx], eax
mov dword [0x50a6fc], ebx
jmp 0x4d7c9b
mov eax, dword [ebp]
mov ecx, dword [esp + 0x38]
push eax
push ecx
call fcn.00485128
add esp, 8
mov eax, dword [ebp]
mov ecx, dword [eax]
push ecx
call fcn.004856f8
add esp, 4
test eax, eax
jne 0x4d7ce2
push 0x45e
call fcn.004b7d28
add esp, 4
push eax
push 2
push 0xef
call fcn.004a0048
add esp, 0xc
mov eax, dword [ebp]
mov ecx, dword [eax]
push ecx
call fcn.00485268
add esp, 4
mov ecx, dword [ebp]
mov dword [ecx], ebx
jmp 0x4d7b63
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x70]
lea edx, [esp + 0x68]
mov ecx, 0x50a6f0
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [edx + 0xc]
cmp dword [esp + 0x10], 0
mov dword [ecx + 4], ebx
mov dword [ecx + 8], ebp
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x18]
mov dword [esi], ecx
je 0x4d7d1d
mov eax, dword [esp + 0x10]
push eax
call fcn.0049b018
add esp, 4
mov eax, edi
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x2f8
ret