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

Disassembly:
mov eax, 0x138
call fcn.006021b0
push esi
mov esi, ecx
mov eax, dword [esi + 0x56]
test byte [eax + 8], 4
jne 0x48ecdb
mov ecx, dword [esi + 0x62]
test byte [ecx + 8], 4
jne 0x48ecdb
movsx edx, word [esi + 0x13]
mov eax, dword [0x65fdf8]
push ebx
push ebp
push edi
xor edi, edi
mov dword [esp + 0x20], 0x621538
shl edx, 4
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov ecx, dword [edx + eax]
mov dword [esp + 0x18], edi
push ecx
lea ecx, [esp + 0x8c]
call fcn.00514f90
movsx edx, word [esi + 0x13]
mov eax, dword [0x65fdf8]
shl edx, 4
mov ecx, dword [edx + eax]
push ecx
lea ecx, [esp + 0x100]
call fcn.00513f68
mov ecx, dword [esi + 0x62]
call fcn.00502334
mov ebp, eax
mov bl, 2
mov dword [esp + 0x10], ebp
cmp ebp, edi
je 0x48e6d1
test byte [ebp + 0x49], bl
je 0x48e6b6
cmp dword [ebp + 0x45], 1
jne 0x48e6b6
mov ecx, ebp
call fcn.004f09f0
mov dword [esp + 0x10], eax
mov ebp, eax
jmp 0x48e698
cmp ebp, edi
je 0x48e6d1
mov ecx, dword [esi + 0x62]
call fcn.00502334
cmp ebp, eax
jne 0x48e6d1
mov ecx, ebp
call fcn.004f09f0
mov dword [esp + 0x10], eax
mov ecx, esi
call fcn.0048de70
mov eax, dword [esi + 0x56]
mov dl, byte [eax + 8]
or dl, 4
mov byte [eax + 8], dl
mov eax, dword [esi + 0x62]
mov cl, byte [eax + 8]
or cl, 4
mov byte [eax + 8], cl
mov ecx, dword [esi + 0x56]
call fcn.00502334
mov ebp, eax
cmp ebp, edi
je 0x48ebf0
mov ecx, ebp
call fcn.004f09f0
mov edx, dword [ebp]
mov edi, eax
push 0
push 0
mov ecx, ebp
mov dword [esp + 0x24], edi
call dword [edx + 0x74]
mov ebx, 1
cmp eax, ebx
je 0x48e84e
mov eax, dword [ebp + 0x4e]
test eax, eax
je 0x48e84e
mov ecx, dword [esi + 0x56]
push ebp
mov dword [esp + 0x1c], ebx
mov eax, dword [ecx]
call dword [eax + 0x68]
mov ecx, dword [ebp + 0x4e]
call fcn.00502334
mov ebx, eax
test ebx, ebx
je 0x48e84a
mov edx, dword [ebx]
push 0
push 0
mov ecx, ebx
call dword [edx + 0x74]
cmp eax, 1
je 0x48e84a
mov eax, dword [esi + 0x62]
push 0xc1f
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.004ef848
mov edi, dword [eax + 0x17]
mov ecx, dword [esp + 0x14]
add edi, 4
call fcn.0048e220
test eax, eax
jne 0x48e7be
mov al, byte [esi + 9]
mov edx, dword [ebx]
shr eax, 3
and eax, 1
mov ecx, ebx
push eax
push esi
call dword [edx + 0xb0]
mov ecx, dword [esp + 0x10]
mov edi, eax
push 0
push ecx
mov ecx, dword [esi + 0x62]
push edi
call fcn.00501990
push ebp
push ebx
mov ecx, edi
call fcn.00486b50
jmp 0x48e7c7
push ebp
push ebx
mov ecx, eax
call fcn.00486ca0
mov ecx, ebx
call fcn.004f09f0
mov ebx, eax
test ebx, ebx
je 0x48e846
mov edx, dword [ebx]
push 0
push 0
mov ecx, ebx
call dword [edx + 0x74]
cmp eax, 1
je 0x48e846
mov eax, dword [esi + 0x62]
push 0xc1f
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.004ef848
mov edi, dword [eax + 0x17]
mov ecx, dword [esp + 0x14]
add edi, 4
call fcn.0048e220
test eax, eax
jne 0x48e831
mov al, byte [esi + 9]
mov edx, dword [ebx]
shr eax, 3
and eax, 1
mov ecx, ebx
push eax
push esi
call dword [edx + 0xb0]
mov ecx, dword [esp + 0x10]
push 0
push ecx
mov ecx, dword [esi + 0x62]
push eax
call fcn.00501990
jmp 0x48e839
push ebx
mov ecx, eax
call fcn.00486ce0
mov ecx, ebx
call fcn.004f09f0
mov ebx, eax
test ebx, ebx
jne 0x48e7d4
mov edi, dword [esp + 0x1c]
push 1
jmp 0x48e862
test byte [esi + 9], 8
je 0x48e869
mov ecx, dword [esi + 0x56]
push ebp
mov dword [esp + 0x1c], ebx
mov eax, dword [ecx]
call dword [eax + 0x68]
push ebx
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx]
test edi, edi
mov ebp, edi
jne 0x48e702
mov eax, dword [esp + 0x18]
test eax, eax
je 0x48ebf0
mov ecx, dword [esi + 0x4a]
test ecx, ecx
je 0x48ebf0
mov eax, dword [esi + 0x66]
test eax, eax
je 0x48ebf0
mov eax, dword [eax + 0x17]
add eax, 4
push eax
call fcn.00408eb0
test eax, eax
je 0x48e8cf
mov eax, dword [eax + 0xaa]
cmp eax, 7
je 0x48ebf0
cmp eax, 5
je 0x48ebf0
cmp eax, 0x11
je 0x48ebf0
cmp eax, 9
je 0x48ebf0
mov ecx, dword [esi + 0x62]
call fcn.00502334
mov ebp, eax
test ebp, ebp
je 0x48e926
mov ecx, dword [ebp + 0x4e]
test ecx, ecx
je 0x48e919
call fcn.00502334
mov ebx, eax
test ebx, ebx
je 0x48e919
lea eax, [esp + 0xfc]
push ebp
lea ecx, [esp + 0x8c]
push eax
lea edx, [esp + 0x28]
push ecx
push edx
mov edi, ebx
call fcn.0048e2f0
mov ecx, ebx
call fcn.004f09f0
mov ebx, eax
test ebx, ebx
jne 0x48e8ef
mov ecx, ebp
call fcn.004f09f0
mov ebp, eax
test ebp, ebp
jne 0x48e8dd
mov ebp, dword [esp + 0x24]
test ebp, ebp
je 0x48ebf0
mov ebx, dword [ebp + 0xc]
push 0xc2c
mov ecx, ebx
call fcn.004ef848
mov ecx, eax
call fcn.005036ec
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x78]
cmp eax, 0x3c
jne 0x48e96a
mov ecx, dword [ebx + 0x5a]
test ecx, ecx
je 0x48e961
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [ebx + 0x5a], 0
jmp 0x48e9a2
mov ecx, dword [ebx + 0x4a]
xor edi, edi
cmp ecx, edi
je 0x48e979
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [ebx + 0x4a], edi
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebx + 0x5a]
cmp ecx, edi
je 0x48e98c
mov edx, dword [ecx]
push 1
call dword [edx]
push 0xc2c
mov ecx, ebx
mov dword [ebx + 0x5a], edi
call fcn.004ef848
mov ecx, eax
call fcn.005036ec
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x48e932
mov eax, dword [esp + 0x24]
test eax, eax
je 0x48ebf0
mov ecx, dword [esi + 0x62]
mov dword [esp + 0x14], ebp
call fcn.00502334
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x10], ebx
je 0x48ebf0
jmp 0x48e9d5
mov ebx, dword [esp + 0x10]
mov ecx, ebx
call fcn.004f09f0
mov ecx, dword [ebx + 0x4e]
mov ebp, eax
test ecx, ecx
mov dword [esp + 0x30], ebp
je 0x48ea0d
call fcn.00502334
test eax, eax
je 0x48ea0d
mov ecx, dword [ebx + 0x4e]
call fcn.00502334
mov edx, dword [eax]
push 0
push 0
mov ecx, eax
call dword [edx + 0x74]
test eax, eax
je 0x48ebdb
mov eax, dword [ebx]
push 0
push 0
mov ecx, ebx
call dword [eax + 0x74]
cmp eax, 1
je 0x48ebdb
push 0x87a
mov ecx, ebx
call fcn.004ef848
mov ecx, dword [eax + 0x17]
add ecx, 4
mov dword [esp + 0x2c], ecx
call fcn.005108d8
cmp eax, 0x3d
mov dword [esp + 0x38], eax
je 0x48ea4e
cmp eax, 0x3e
jne 0x48ebdb
lea ecx, [esp + 0x3c]
call fcn.00415980
lea ecx, [esp + 0xb0]
call fcn.00415980
push 0xc1f
mov ecx, ebx
call fcn.004ef848
push 0xc28
mov ecx, ebx
mov dword [esp + 0x38], eax
call fcn.004ef848
mov edi, eax
mov dword [esp + 0x1c], edi
mov ecx, dword [edi + 0x17]
push ecx
lea ecx, [esp + 0xb4]
call fcn.00514008
mov ebp, dword [esp + 0x24]
test ebp, ebp
je 0x48ebc6
jmp 0x48eaa7
mov edi, dword [esp + 0x1c]
lea ecx, [esp + 0xb0]
call fcn.004254e0
test eax, eax
jne 0x48ebc6
mov eax, dword [ebp + 0x18]
mov ebx, dword [ebp + 0xc]
test eax, eax
jne 0x48eae8
mov edx, dword [esp + 0x38]
lea eax, [esp + 0xfc]
push edx
push eax
mov eax, dword [edi + 0x17]
lea ecx, [esp + 0x90]
push ecx
lea edi, [esp + 0x48]
call fcn.0048e260
jmp 0x48eaf9
lea edx, [esp + 0xb0]
lea ecx, [esp + 0x3c]
push edx
call fcn.00514084
mov eax, dword [ebx]
push 0
push 0xc38
mov ecx, ebx
call dword [eax + 0x64]
mov ecx, 0x5e
mov edi, eax
call fcn.004dbd80
test eax, eax
je 0x48eb3e
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x17]
movsx ecx, word [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x30]
push edi
push ecx
lea ecx, [esp + 0x48]
add edx, 4
push ecx
push 0
push edx
mov ecx, eax
call fcn.00494c20
jmp 0x48eb40
xor eax, eax
mov edx, dword [edi]
push 0
push eax
mov ecx, edi
call dword [edx + 0x60]
mov ecx, dword [ebp + 0x10]
push 0xc28
call fcn.004ef848
lea ecx, [esp + 0x3c]
push 0
push ecx
mov ecx, dword [eax + 0x17]
call fcn.005128a0
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0xc]
cmp eax, ecx
je 0x48eb89
push 0xc2c
call fcn.004ef848
mov ecx, dword [eax + 0x17]
lea edx, [esp + 0x3c]
push 0
push edx
call fcn.005128a0
lea eax, [esp + 0x3c]
push 0
push eax
lea ecx, [esp + 0xb8]
call fcn.005128f4
push 0xc2c
mov ecx, ebx
call fcn.004ef848
lea ecx, [esp + 0x3c]
push 0
push ecx
mov ecx, dword [eax + 0x17]
call fcn.005128a0
mov ebp, dword [ebp + 4]
mov ebx, dword [esp + 0x10]
test ebp, ebp
jne 0x48eaa3
mov ecx, dword [esi + 0x62]
push ebx
mov edx, dword [ecx]
call dword [edx + 0x68]
mov eax, dword [ebx]
push 1
mov ecx, ebx
call dword [eax]
mov ebp, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x10], ebp
inc ecx
test ebp, ebp
mov dword [esp + 0x14], ecx
jne 0x48e9d1
mov ecx, dword [esi + 0x62]
call fcn.00502334
mov ebx, eax
test ebx, ebx
je 0x48ec35
mov edi, 1
mov ecx, ebx
call fcn.004f09f0
mov edx, dword [ebx]
push 0
push 0
mov ecx, ebx
mov ebp, eax
call dword [edx + 0x74]
test eax, eax
je 0x48ec2f
mov ecx, dword [esi + 0x62]
push ebx
mov eax, dword [ecx]
call dword [eax + 0x68]
mov edx, dword [ebx]
push edi
mov ecx, ebx
call dword [edx]
mov dword [esp + 0x18], edi
test ebp, ebp
mov ebx, ebp
jne 0x48ec03
mov eax, dword [esp + 0x18]
mov bl, 0xfb
test eax, eax
je 0x48ecbe
test byte [esi + 8], 4
jne 0x48ecbe
mov ecx, esi
call fcn.00502c54
mov ecx, dword [esi + 0x62]
push 0
push 0x502d0c
call fcn.005023ac
mov ecx, dword [esi + 0x56]
push 0
push 0x502d0c
call fcn.005023ac
mov ecx, dword [esi + 0x5a]
push 0
push 0x502d0c
call fcn.005023ac
mov ecx, dword [esi + 0x5e]
push 0
push 0x502d0c
call fcn.005023ac
mov eax, dword [esi + 0x56]
push 8
mov cl, byte [eax + 8]
and cl, bl
mov byte [eax + 8], cl
mov ecx, dword [esi + 0x56]
call fcn.004ee53c
mov eax, dword [esi + 0x56]
push 8
mov dl, byte [eax + 8]
or dl, 4
mov byte [eax + 8], dl
mov eax, dword [esi + 0x62]
mov cl, byte [eax + 8]
and cl, bl
mov byte [eax + 8], cl
mov ecx, dword [esi + 0x62]
call fcn.004ee53c
mov eax, dword [esi + 0x56]
mov cl, byte [eax + 8]
and cl, bl
mov byte [eax + 8], cl
mov esi, dword [esi + 0x62]
lea ecx, [esp + 0x20]
and byte [esi + 8], bl
call fcn.004e7390
pop edi
pop ebp
pop ebx
pop esi
add esp, 0x138
ret