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

Disassembly:
mov eax, 0x138
call fcn.00697340
push esi
mov esi, ecx
mov eax, dword [esi + 0x56]
test byte [eax + 8], 4
jne 0x48ebf9
mov ecx, dword [esi + 0x62]
test byte [ecx + 8], 4
jne 0x48ebf9
movsx edx, word [esi + 0x13]
mov eax, dword [0x7e4564]
push ebx
push ebp
push edi
xor edi, edi
shl edx, 4
mov dword [esp + 0x20], 0x6b9578
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov ecx, dword [edx + eax]
push ecx
lea ecx, [esp + 0x8c]
mov dword [esp + 0x1c], edi
call fcn.005362ac
movsx edx, word [esi + 0x13]
mov eax, dword [0x7e4564]
shl edx, 4
mov ecx, dword [edx + eax]
push ecx
lea ecx, [esp + 0x100]
call fcn.00534ce0
mov ecx, dword [esi + 0x62]
call fcn.0051d848
mov ebp, eax
mov dword [esp + 0x10], ebp
mov bl, 2
cmp ebp, edi
je 0x48e5f1
test byte [ebp + 0x49], bl
je 0x48e5d6
cmp dword [ebp + 0x45], 1
jne 0x48e5d6
mov ecx, ebp
call fcn.004fa1a4
mov dword [esp + 0x10], eax
mov ebp, eax
jmp 0x48e5b8
cmp ebp, edi
je 0x48e5f1
mov ecx, dword [esi + 0x62]
call fcn.0051d848
cmp ebp, eax
jne 0x48e5f1
mov ecx, ebp
call fcn.004fa1a4
mov dword [esp + 0x10], eax
mov ecx, esi
call fcn.0048ddc0
mov eax, dword [esi + 0x56]
or byte [eax + 8], 4
mov eax, dword [esi + 0x62]
or byte [eax + 8], 4
mov ecx, dword [esi + 0x56]
call fcn.0051d848
mov ebp, eax
cmp ebp, edi
je 0x48eb17
mov ecx, ebp
call fcn.004fa1a4
mov edx, dword [ebp]
push 0
mov edi, eax
push 0
mov ecx, ebp
mov dword [esp + 0x24], edi
call dword [edx + 0x74]
mov ebx, 1
cmp eax, ebx
je 0x48e76c
mov eax, dword [ebp + 0x4e]
test eax, eax
je 0x48e76c
mov ecx, dword [esi + 0x56]
mov eax, dword [ecx]
push ebp
mov dword [esp + 0x1c], ebx
call dword [eax + 0x68]
mov ecx, dword [ebp + 0x4e]
call fcn.0051d848
mov ebx, eax
test ebx, ebx
je 0x48e768
mov edx, dword [ebx]
push 0
push 0
mov ecx, ebx
call dword [edx + 0x74]
cmp eax, 1
je 0x48e768
mov eax, dword [esi + 0x62]
push 0xc1f
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.004f8bc4
mov edi, dword [eax + 0x17]
mov ecx, dword [esp + 0x14]
add edi, 4
call fcn.0048e120
test eax, eax
jne 0x48e6d6
mov edx, dword [ebx]
xor eax, eax
mov al, byte [esi + 9]
mov ecx, ebx
shr eax, 3
and eax, 1
push eax
push esi
call dword [edx + 0xb0]
mov ecx, dword [esi + 0x62]
mov edi, eax
mov eax, dword [esp + 0x10]
push 0
push eax
push edi
call fcn.0051d884
push ebp
push ebx
mov ecx, edi
call fcn.00486c10
jmp 0x48e6df
push ebp
push ebx
mov ecx, eax
call fcn.00486d60
mov ecx, ebx
call fcn.004fa1a4
mov ebx, eax
test ebx, ebx
je 0x48e764
lea esp, [esp]
mov edx, dword [ebx]
push 0
push 0
mov ecx, ebx
call dword [edx + 0x74]
cmp eax, 1
je 0x48e764
mov eax, dword [esi + 0x62]
push 0xc1f
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.004f8bc4
mov edi, dword [eax + 0x17]
mov ecx, dword [esp + 0x14]
add edi, 4
call fcn.0048e120
test eax, eax
jne 0x48e74f
mov edx, dword [ebx]
xor eax, eax
mov al, byte [esi + 9]
mov ecx, ebx
shr eax, 3
and eax, 1
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.0051d884
jmp 0x48e757
push ebx
mov ecx, eax
call fcn.00486da0
mov ecx, ebx
call fcn.004fa1a4
mov ebx, eax
test ebx, ebx
jne 0x48e6f0
mov edi, dword [esp + 0x1c]
push 1
jmp 0x48e780
test byte [esi + 9], 8
je 0x48e787
mov ecx, dword [esi + 0x56]
mov eax, dword [ecx]
push ebp
mov dword [esp + 0x1c], ebx
call dword [eax + 0x68]
push ebx
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx]
test edi, edi
mov ebp, edi
jne 0x48e618
mov eax, dword [esp + 0x18]
test eax, eax
je 0x48eb17
mov ecx, dword [esi + 0x4a]
test ecx, ecx
je 0x48eb17
mov eax, dword [esi + 0x66]
test eax, eax
je 0x48eb17
mov eax, dword [eax + 0x17]
add eax, 4
push eax
call fcn.00408f30
test eax, eax
je 0x48e7ed
mov eax, dword [eax + 0xaa]
cmp eax, 7
je 0x48eb17
cmp eax, 5
je 0x48eb17
cmp eax, 0x11
je 0x48eb17
cmp eax, 9
je 0x48eb17
mov ecx, dword [esi + 0x62]
call fcn.0051d848
mov ebp, eax
test ebp, ebp
je 0x48e849
jmp 0x48e800
mov ecx, dword [ebp + 0x4e]
test ecx, ecx
je 0x48e83c
call fcn.0051d848
mov ebx, eax
test ebx, ebx
je 0x48e83c
push ebp
lea eax, [esp + 0x100]
push eax
lea ecx, [esp + 0x90]
push ecx
lea edx, [esp + 0x2c]
push edx
mov edi, ebx
call fcn.0048e210
mov ecx, ebx
call fcn.004fa1a4
mov ebx, eax
test ebx, ebx
jne 0x48e812
mov ecx, ebp
call fcn.004fa1a4
mov ebp, eax
test ebp, ebp
jne 0x48e800
mov ebp, dword [esp + 0x24]
test ebp, ebp
je 0x48eb17
mov ebx, dword [ebp + 0xc]
push 0xc2c
mov ecx, ebx
call fcn.004f8bc4
mov ecx, eax
call fcn.0051f270
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x78]
cmp eax, 0x3c
jne 0x48e88d
mov ecx, dword [ebx + 0x5a]
test ecx, ecx
je 0x48e884
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [ebx + 0x5a], 0
jmp 0x48e8c5
mov ecx, dword [ebx + 0x4a]
xor edi, edi
cmp ecx, edi
je 0x48e89c
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 0x48e8af
mov edx, dword [ecx]
push 1
call dword [edx]
push 0xc2c
mov ecx, ebx
mov dword [ebx + 0x5a], edi
call fcn.004f8bc4
mov ecx, eax
call fcn.0051f270
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x48e855
mov eax, dword [esp + 0x24]
test eax, eax
je 0x48eb17
mov ecx, dword [esi + 0x62]
mov dword [esp + 0x14], ebp
call fcn.0051d848
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x10], ebx
je 0x48eb17
jmp 0x48e8f8
mov ebx, dword [esp + 0x10]
mov ecx, ebx
call fcn.004fa1a4
mov ecx, dword [ebx + 0x4e]
test ecx, ecx
mov ebp, eax
mov dword [esp + 0x30], ebp
je 0x48e930
call fcn.0051d848
test eax, eax
je 0x48e930
mov ecx, dword [ebx + 0x4e]
call fcn.0051d848
mov edx, dword [eax]
push 0
push 0
mov ecx, eax
call dword [edx + 0x74]
test eax, eax
je 0x48eb02
mov eax, dword [ebx]
push 0
push 0
mov ecx, ebx
call dword [eax + 0x74]
cmp eax, 1
je 0x48eb02
push 0x87a
mov ecx, ebx
call fcn.004f8bc4
mov ecx, dword [eax + 0x17]
add ecx, 4
mov dword [esp + 0x2c], ecx
call fcn.00530564
cmp eax, 0x3d
mov dword [esp + 0x38], eax
je 0x48e971
cmp eax, 0x3e
jne 0x48eb02
lea ecx, [esp + 0x3c]
call fcn.004159b0
lea ecx, [esp + 0xb0]
call fcn.004159b0
push 0xc1f
mov ecx, ebx
call fcn.004f8bc4
push 0xc28
mov ecx, ebx
mov dword [esp + 0x38], eax
call fcn.004f8bc4
mov edi, eax
mov ecx, dword [edi + 0x17]
push ecx
lea ecx, [esp + 0xb4]
mov dword [esp + 0x20], edi
call fcn.00534b88
mov ebp, dword [esp + 0x24]
test ebp, ebp
je 0x48eaed
jmp 0x48e9d0
mov edi, dword [esp + 0x1c]
lea ebx, [ebx]
lea ecx, [esp + 0xb0]
call fcn.004254a0
test eax, eax
jne 0x48eaed
mov eax, dword [ebp + 0x18]
test eax, eax
mov ebx, dword [ebp + 0xc]
jne 0x48ea11
mov edx, dword [esp + 0x38]
push edx
lea eax, [esp + 0x100]
push eax
mov eax, dword [edi + 0x17]
lea ecx, [esp + 0x90]
push ecx
lea edi, [esp + 0x48]
call fcn.0048e170
jmp 0x48ea22
lea edx, [esp + 0xb0]
push edx
lea ecx, [esp + 0x40]
call fcn.00534b10
mov eax, dword [ebx]
push 0
push 0xc38
mov ecx, ebx
call dword [eax + 0x64]
mov ecx, 0x5e
mov edi, eax
call fcn.004dbdb8
test eax, eax
je 0x48ea67
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]
push ecx
add edx, 4
push 0
push edx
mov ecx, eax
call fcn.00494bd0
jmp 0x48ea69
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.004f8bc4
push 0
lea ecx, [esp + 0x40]
push ecx
mov ecx, dword [eax + 0x17]
call fcn.005345c4
mov ecx, dword [ebp + 0x14]
cmp dword [ebp + 0xc], ecx
je 0x48eab0
push 0xc2c
call fcn.004f8bc4
mov ecx, dword [eax + 0x17]
push 0
lea edx, [esp + 0x40]
push edx
call fcn.005345c4
push 0
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0xb8]
call fcn.005342d8
push 0xc2c
mov ecx, ebx
call fcn.004f8bc4
push 0
lea ecx, [esp + 0x40]
push ecx
mov ecx, dword [eax + 0x17]
call fcn.005345c4
mov ebp, dword [ebp + 4]
test ebp, ebp
mov ebx, dword [esp + 0x10]
jne 0x48e9c6
mov ecx, dword [esi + 0x62]
mov edx, dword [ecx]
push ebx
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]
inc ecx
test ebp, ebp
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], ebp
jne 0x48e8f4
mov ecx, dword [esi + 0x62]
call fcn.0051d848
mov ebx, eax
test ebx, ebx
je 0x48eb62
mov edi, 1
lea ebx, [ebx]
mov ecx, ebx
call fcn.004fa1a4
mov edx, dword [ebx]
push 0
push 0
mov ecx, ebx
mov ebp, eax
call dword [edx + 0x74]
test eax, eax
je 0x48eb5c
mov ecx, dword [esi + 0x62]
mov eax, dword [ecx]
push ebx
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 0x48eb30
mov eax, dword [esp + 0x18]
test eax, eax
mov bl, 0xfb
je 0x48ebdc
test byte [esi + 8], 4
jne 0x48ebdc
mov ecx, esi
call fcn.0051dfb0
mov ecx, dword [esi + 0x62]
push 0
push 0x51e3b8
call fcn.0051da30
mov ecx, dword [esi + 0x56]
push 0
push 0x51e3b8
call fcn.0051da30
mov ecx, dword [esi + 0x5a]
push 0
push 0x51e3b8
call fcn.0051da30
mov ecx, dword [esi + 0x5e]
push 0
push 0x51e3b8
call fcn.0051da30
mov eax, dword [esi + 0x56]
and byte [eax + 8], bl
mov ecx, dword [esi + 0x56]
push 8
call fcn.004f7998
mov eax, dword [esi + 0x56]
or byte [eax + 8], 4
mov eax, dword [esi + 0x62]
and byte [eax + 8], bl
mov ecx, dword [esi + 0x62]
push 8
call fcn.004f7998
mov eax, dword [esi + 0x56]
and byte [eax + 8], bl
mov esi, dword [esi + 0x62]
mov al, byte [esi + 8]
and al, bl
lea ecx, [esp + 0x20]
mov byte [esi + 8], al
call fcn.004eda04
pop edi
pop ebp
pop ebx
pop esi
add esp, 0x138
ret