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

Disassembly:
mov eax, 0x138
call fcn.00696350
push esi
mov esi, ecx
mov eax, dword [esi + 0x56]
test byte [eax + 8], 4
jne 0x48eaf9
mov ecx, dword [esi + 0x62]
test byte [ecx + 8], 4
jne 0x48eaf9
movsx edx, word [esi + 0x13]
mov eax, dword [0x7e3544]
push ebx
push ebp
push edi
xor edi, edi
shl edx, 4
mov dword [esp + 0x20], 0x6b8578
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.005360d4
movsx edx, word [esi + 0x13]
mov eax, dword [0x7e3544]
shl edx, 4
mov ecx, dword [edx + eax]
push ecx
lea ecx, [esp + 0x100]
call fcn.00534b08
mov ecx, dword [esi + 0x62]
call fcn.0051d6a0
mov ebp, eax
mov dword [esp + 0x10], ebp
mov bl, 2
cmp ebp, edi
je 0x48e4f1
test byte [ebp + 0x49], bl
je 0x48e4d6
cmp dword [ebp + 0x45], 1
jne 0x48e4d6
mov ecx, ebp
call fcn.004fa084
mov dword [esp + 0x10], eax
mov ebp, eax
jmp 0x48e4b8
cmp ebp, edi
je 0x48e4f1
mov ecx, dword [esi + 0x62]
call fcn.0051d6a0
cmp ebp, eax
jne 0x48e4f1
mov ecx, ebp
call fcn.004fa084
mov dword [esp + 0x10], eax
mov ecx, esi
call fcn.0048dcc0
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.0051d6a0
mov ebp, eax
cmp ebp, edi
je 0x48ea17
mov ecx, ebp
call fcn.004fa084
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 0x48e66c
mov eax, dword [ebp + 0x4e]
test eax, eax
je 0x48e66c
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.0051d6a0
mov ebx, eax
test ebx, ebx
je 0x48e668
mov edx, dword [ebx]
push 0
push 0
mov ecx, ebx
call dword [edx + 0x74]
cmp eax, 1
je 0x48e668
mov eax, dword [esi + 0x62]
push 0xc1f
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.004f8a80
mov edi, dword [eax + 0x17]
mov ecx, dword [esp + 0x14]
add edi, 4
call fcn.0048e020
test eax, eax
jne 0x48e5d6
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.0051d6dc
push ebp
push ebx
mov ecx, edi
call fcn.00486b00
jmp 0x48e5df
push ebp
push ebx
mov ecx, eax
call fcn.00486c50
mov ecx, ebx
call fcn.004fa084
mov ebx, eax
test ebx, ebx
je 0x48e664
lea esp, [esp]
mov edx, dword [ebx]
push 0
push 0
mov ecx, ebx
call dword [edx + 0x74]
cmp eax, 1
je 0x48e664
mov eax, dword [esi + 0x62]
push 0xc1f
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.004f8a80
mov edi, dword [eax + 0x17]
mov ecx, dword [esp + 0x14]
add edi, 4
call fcn.0048e020
test eax, eax
jne 0x48e64f
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.0051d6dc
jmp 0x48e657
push ebx
mov ecx, eax
call fcn.00486c90
mov ecx, ebx
call fcn.004fa084
mov ebx, eax
test ebx, ebx
jne 0x48e5f0
mov edi, dword [esp + 0x1c]
push 1
jmp 0x48e680
test byte [esi + 9], 8
je 0x48e687
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 0x48e518
mov eax, dword [esp + 0x18]
test eax, eax
je 0x48ea17
mov ecx, dword [esi + 0x4a]
test ecx, ecx
je 0x48ea17
mov eax, dword [esi + 0x66]
test eax, eax
je 0x48ea17
mov eax, dword [eax + 0x17]
add eax, 4
push eax
call fcn.00408f10
test eax, eax
je 0x48e6ed
mov eax, dword [eax + 0xaa]
cmp eax, 7
je 0x48ea17
cmp eax, 5
je 0x48ea17
cmp eax, 0x11
je 0x48ea17
cmp eax, 9
je 0x48ea17
mov ecx, dword [esi + 0x62]
call fcn.0051d6a0
mov ebp, eax
test ebp, ebp
je 0x48e749
jmp 0x48e700
mov ecx, dword [ebp + 0x4e]
test ecx, ecx
je 0x48e73c
call fcn.0051d6a0
mov ebx, eax
test ebx, ebx
je 0x48e73c
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.0048e110
mov ecx, ebx
call fcn.004fa084
mov ebx, eax
test ebx, ebx
jne 0x48e712
mov ecx, ebp
call fcn.004fa084
mov ebp, eax
test ebp, ebp
jne 0x48e700
mov ebp, dword [esp + 0x24]
test ebp, ebp
je 0x48ea17
mov ebx, dword [ebp + 0xc]
push 0xc2c
mov ecx, ebx
call fcn.004f8a80
mov ecx, eax
call fcn.0051f0d0
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x78]
cmp eax, 0x3c
jne 0x48e78d
mov ecx, dword [ebx + 0x5a]
test ecx, ecx
je 0x48e784
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [ebx + 0x5a], 0
jmp 0x48e7c5
mov ecx, dword [ebx + 0x4a]
xor edi, edi
cmp ecx, edi
je 0x48e79c
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 0x48e7af
mov edx, dword [ecx]
push 1
call dword [edx]
push 0xc2c
mov ecx, ebx
mov dword [ebx + 0x5a], edi
call fcn.004f8a80
mov ecx, eax
call fcn.0051f0d0
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x48e755
mov eax, dword [esp + 0x24]
test eax, eax
je 0x48ea17
mov ecx, dword [esi + 0x62]
mov dword [esp + 0x14], ebp
call fcn.0051d6a0
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x10], ebx
je 0x48ea17
jmp 0x48e7f8
mov ebx, dword [esp + 0x10]
mov ecx, ebx
call fcn.004fa084
mov ecx, dword [ebx + 0x4e]
test ecx, ecx
mov ebp, eax
mov dword [esp + 0x30], ebp
je 0x48e830
call fcn.0051d6a0
test eax, eax
je 0x48e830
mov ecx, dword [ebx + 0x4e]
call fcn.0051d6a0
mov edx, dword [eax]
push 0
push 0
mov ecx, eax
call dword [edx + 0x74]
test eax, eax
je 0x48ea02
mov eax, dword [ebx]
push 0
push 0
mov ecx, ebx
call dword [eax + 0x74]
cmp eax, 1
je 0x48ea02
push 0x87a
mov ecx, ebx
call fcn.004f8a80
mov ecx, dword [eax + 0x17]
add ecx, 4
mov dword [esp + 0x2c], ecx
call fcn.0053038c
cmp eax, 0x3d
mov dword [esp + 0x38], eax
je 0x48e871
cmp eax, 0x3e
jne 0x48ea02
lea ecx, [esp + 0x3c]
call fcn.00415950
lea ecx, [esp + 0xb0]
call fcn.00415950
push 0xc1f
mov ecx, ebx
call fcn.004f8a80
push 0xc28
mov ecx, ebx
mov dword [esp + 0x38], eax
call fcn.004f8a80
mov edi, eax
mov ecx, dword [edi + 0x17]
push ecx
lea ecx, [esp + 0xb4]
mov dword [esp + 0x20], edi
call fcn.005349b0
mov ebp, dword [esp + 0x24]
test ebp, ebp
je 0x48e9ed
jmp 0x48e8d0
mov edi, dword [esp + 0x1c]
lea ebx, [ebx]
lea ecx, [esp + 0xb0]
call fcn.00425440
test eax, eax
jne 0x48e9ed
mov eax, dword [ebp + 0x18]
test eax, eax
mov ebx, dword [ebp + 0xc]
jne 0x48e911
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.0048e070
jmp 0x48e922
lea edx, [esp + 0xb0]
push edx
lea ecx, [esp + 0x40]
call fcn.00534938
mov eax, dword [ebx]
push 0
push 0xc38
mov ecx, ebx
call dword [eax + 0x64]
mov ecx, 0x5e
mov edi, eax
call fcn.004dbcd8
test eax, eax
je 0x48e967
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.00494ae0
jmp 0x48e969
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.004f8a80
push 0
lea ecx, [esp + 0x40]
push ecx
mov ecx, dword [eax + 0x17]
call fcn.005343ec
mov ecx, dword [ebp + 0x14]
cmp dword [ebp + 0xc], ecx
je 0x48e9b0
push 0xc2c
call fcn.004f8a80
mov ecx, dword [eax + 0x17]
push 0
lea edx, [esp + 0x40]
push edx
call fcn.005343ec
push 0
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0xb8]
call fcn.00534100
push 0xc2c
mov ecx, ebx
call fcn.004f8a80
push 0
lea ecx, [esp + 0x40]
push ecx
mov ecx, dword [eax + 0x17]
call fcn.005343ec
mov ebp, dword [ebp + 4]
test ebp, ebp
mov ebx, dword [esp + 0x10]
jne 0x48e8c6
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 0x48e7f4
mov ecx, dword [esi + 0x62]
call fcn.0051d6a0
mov ebx, eax
test ebx, ebx
je 0x48ea62
mov edi, 1
lea ebx, [ebx]
mov ecx, ebx
call fcn.004fa084
mov edx, dword [ebx]
push 0
push 0
mov ecx, ebx
mov ebp, eax
call dword [edx + 0x74]
test eax, eax
je 0x48ea5c
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 0x48ea30
mov eax, dword [esp + 0x18]
test eax, eax
mov bl, 0xfb
je 0x48eadc
test byte [esi + 8], 4
jne 0x48eadc
mov ecx, esi
call fcn.0051de10
mov ecx, dword [esi + 0x62]
push 0
push 0x51e218
call fcn.0051d888
mov ecx, dword [esi + 0x56]
push 0
push 0x51e218
call fcn.0051d888
mov ecx, dword [esi + 0x5a]
push 0
push 0x51e218
call fcn.0051d888
mov ecx, dword [esi + 0x5e]
push 0
push 0x51e218
call fcn.0051d888
mov eax, dword [esi + 0x56]
and byte [eax + 8], bl
mov ecx, dword [esi + 0x56]
push 8
call fcn.004f7850
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.004f7850
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.004ed8d4
pop edi
pop ebp
pop ebx
pop esi
add esp, 0x138
ret