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

Disassembly:
mov eax, 0x19c
call fcn.00609610
push esi
mov esi, ecx
mov eax, dword [esi + 0x64]
test byte [eax + 8], 4
jne 0x48f519
mov ecx, dword [esi + 0x70]
test byte [ecx + 8], 4
jne 0x48f519
movsx edx, word [esi + 0x18]
mov eax, dword [0x759708]
push ebx
push ebp
push edi
xor edi, edi
shl edx, 4
mov dword [esp + 0x20], 0x61b564
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov ecx, dword [edx + eax]
push ecx
lea ecx, [esp + 0xa8]
mov dword [esp + 0x1c], edi
call fcn.0050d8e0
movsx edx, word [esi + 0x18]
mov eax, dword [0x759708]
shl edx, 4
mov ecx, dword [edx + eax]
push ecx
lea ecx, [esp + 0x148]
call fcn.0050c620
mov ecx, dword [esi + 0x70]
call fcn.004fb200
mov ebp, eax
mov dword [esp + 0x10], ebp
mov bl, 2
cmp ebp, edi
je 0x48ef11
test byte [ebp + 0x50], bl
je 0x48eef6
cmp dword [ebp + 0x4c], 1
jne 0x48eef6
mov ecx, ebp
call fcn.004ecf70
mov dword [esp + 0x10], eax
mov ebp, eax
jmp 0x48eed8
cmp ebp, edi
je 0x48ef11
mov ecx, dword [esi + 0x70]
call fcn.004fb200
cmp ebp, eax
jne 0x48ef11
mov ecx, ebp
call fcn.004ecf70
mov dword [esp + 0x10], eax
mov ecx, esi
call fcn.0048e6b0
mov eax, dword [esi + 0x64]
or byte [eax + 8], 4
mov eax, dword [esi + 0x70]
or byte [eax + 8], 4
mov ecx, dword [esi + 0x64]
call fcn.004fb200
mov ebp, eax
cmp ebp, edi
je 0x48f437
mov ecx, ebp
call fcn.004ecf70
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 0x48f08c
mov eax, dword [ebp + 0x5c]
test eax, eax
je 0x48f08c
mov ecx, dword [esi + 0x64]
mov eax, dword [ecx]
push ebp
mov dword [esp + 0x1c], ebx
call dword [eax + 0x68]
mov ecx, dword [ebp + 0x5c]
call fcn.004fb200
mov ebx, eax
test ebx, ebx
je 0x48f088
mov edx, dword [ebx]
push 0
push 0
mov ecx, ebx
call dword [edx + 0x74]
cmp eax, 1
je 0x48f088
mov eax, dword [esi + 0x70]
push 0xc1f
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.004ebeb0
mov edi, dword [eax + 0x1c]
mov ecx, dword [esp + 0x14]
add edi, 4
call fcn.0048ea20
test eax, eax
jne 0x48eff6
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 + 0x70]
mov edi, eax
push edi
call fcn.004fc500
push ebp
push ebx
mov ecx, edi
call fcn.00487460
jmp 0x48efff
push ebp
push ebx
mov ecx, eax
call fcn.004875b0
mov ecx, ebx
call fcn.004ecf70
mov ebx, eax
test ebx, ebx
je 0x48f084
lea esp, [esp]
mov edx, dword [ebx]
push 0
push 0
mov ecx, ebx
call dword [edx + 0x74]
cmp eax, 1
je 0x48f084
mov eax, dword [esi + 0x70]
push 0xc1f
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.004ebeb0
mov edi, dword [eax + 0x1c]
mov ecx, dword [esp + 0x14]
add edi, 4
call fcn.0048ea20
test eax, eax
jne 0x48f06f
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 + 0x70]
push eax
call fcn.004fc500
jmp 0x48f077
push ebx
mov ecx, eax
call fcn.004875f0
mov ecx, ebx
call fcn.004ecf70
mov ebx, eax
test ebx, ebx
jne 0x48f010
mov edi, dword [esp + 0x1c]
push 1
jmp 0x48f0a0
test byte [esi + 9], 8
je 0x48f0a7
mov ecx, dword [esi + 0x64]
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 0x48ef38
mov eax, dword [esp + 0x18]
test eax, eax
je 0x48f437
mov ecx, dword [esi + 0x58]
test ecx, ecx
je 0x48f437
mov eax, dword [esi + 0x74]
test eax, eax
je 0x48f437
mov eax, dword [eax + 0x1c]
add eax, 4
push eax
call fcn.00408fb0
test eax, eax
je 0x48f10d
mov eax, dword [eax + 0xb8]
cmp eax, 7
je 0x48f437
cmp eax, 5
je 0x48f437
cmp eax, 0x11
je 0x48f437
cmp eax, 9
je 0x48f437
mov ecx, dword [esi + 0x70]
call fcn.004fb200
mov ebp, eax
test ebp, ebp
je 0x48f169
jmp 0x48f120
mov ecx, dword [ebp + 0x5c]
test ecx, ecx
je 0x48f15c
call fcn.004fb200
mov ebx, eax
test ebx, ebx
je 0x48f15c
push ebp
lea eax, [esp + 0x148]
push eax
lea ecx, [esp + 0xac]
push ecx
lea edx, [esp + 0x2c]
push edx
mov edi, ebx
call fcn.0048eb10
mov ecx, ebx
call fcn.004ecf70
mov ebx, eax
test ebx, ebx
jne 0x48f132
mov ecx, ebp
call fcn.004ecf70
mov ebp, eax
test ebp, ebp
jne 0x48f120
mov ebp, dword [esp + 0x24]
test ebp, ebp
je 0x48f437
mov ebx, dword [ebp + 0xc]
push 0xc2c
mov ecx, ebx
call fcn.004ebeb0
mov ecx, eax
call fcn.004fd220
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x78]
cmp eax, 0x3c
jne 0x48f1ad
mov ecx, dword [ebx + 0x68]
test ecx, ecx
je 0x48f1a4
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [ebx + 0x68], 0
jmp 0x48f1e5
mov ecx, dword [ebx + 0x58]
xor edi, edi
cmp ecx, edi
je 0x48f1bc
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [ebx + 0x58], edi
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebx + 0x68]
cmp ecx, edi
je 0x48f1cf
mov edx, dword [ecx]
push 1
call dword [edx]
push 0xc2c
mov ecx, ebx
mov dword [ebx + 0x68], edi
call fcn.004ebeb0
mov ecx, eax
call fcn.004fd220
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x48f175
mov eax, dword [esp + 0x24]
test eax, eax
je 0x48f437
mov ecx, dword [esi + 0x70]
mov dword [esp + 0x14], ebp
call fcn.004fb200
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x10], ebx
je 0x48f437
jmp 0x48f218
mov ebx, dword [esp + 0x10]
mov ecx, ebx
call fcn.004ecf70
mov ecx, dword [ebx + 0x5c]
test ecx, ecx
mov ebp, eax
mov dword [esp + 0x30], ebp
je 0x48f250
call fcn.004fb200
test eax, eax
je 0x48f250
mov ecx, dword [ebx + 0x5c]
call fcn.004fb200
mov edx, dword [eax]
push 0
push 0
mov ecx, eax
call dword [edx + 0x74]
test eax, eax
je 0x48f422
mov eax, dword [ebx]
push 0
push 0
mov ecx, ebx
call dword [eax + 0x74]
cmp eax, 1
je 0x48f422
push 0x87a
mov ecx, ebx
call fcn.004ebeb0
mov ecx, dword [eax + 0x1c]
add ecx, 4
mov dword [esp + 0x2c], ecx
call fcn.00509230
cmp eax, 0x3d
mov dword [esp + 0x38], eax
je 0x48f291
cmp eax, 0x3e
jne 0x48f422
lea ecx, [esp + 0x3c]
call fcn.00415f00
lea ecx, [esp + 0xdc]
call fcn.00415f00
push 0xc1f
mov ecx, ebx
call fcn.004ebeb0
push 0xc28
mov ecx, ebx
mov dword [esp + 0x38], eax
call fcn.004ebeb0
mov edi, eax
mov ecx, dword [edi + 0x1c]
push ecx
lea ecx, [esp + 0xe0]
mov dword [esp + 0x20], edi
call fcn.0050c5e0
mov ebp, dword [esp + 0x24]
test ebp, ebp
je 0x48f40d
jmp 0x48f2f0
mov edi, dword [esp + 0x1c]
lea ebx, [ebx]
lea ecx, [esp + 0xdc]
call fcn.00425940
test eax, eax
jne 0x48f40d
mov eax, dword [ebp + 0x18]
test eax, eax
mov ebx, dword [ebp + 0xc]
jne 0x48f331
mov edx, dword [esp + 0x38]
push edx
lea eax, [esp + 0x148]
push eax
mov eax, dword [edi + 0x1c]
lea ecx, [esp + 0xac]
push ecx
lea edi, [esp + 0x48]
call fcn.0048ea70
jmp 0x48f342
lea edx, [esp + 0xdc]
push edx
lea ecx, [esp + 0x40]
call fcn.0050c600
mov eax, dword [ebx]
push 0
push 0xc38
mov ecx, ebx
call dword [eax + 0x64]
mov ecx, 0x70
mov edi, eax
call fcn.004dc5a0
test eax, eax
je 0x48f387
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x1c]
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.00495530
jmp 0x48f389
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.004ebeb0
push 0
lea ecx, [esp + 0x40]
push ecx
mov ecx, dword [eax + 0x1c]
call fcn.0050c250
mov ecx, dword [ebp + 0x14]
cmp dword [ebp + 0xc], ecx
je 0x48f3d0
push 0xc2c
call fcn.004ebeb0
mov ecx, dword [eax + 0x1c]
push 0
lea edx, [esp + 0x40]
push edx
call fcn.0050c250
push 0
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0xe4]
call fcn.0050c090
push 0xc2c
mov ecx, ebx
call fcn.004ebeb0
push 0
lea ecx, [esp + 0x40]
push ecx
mov ecx, dword [eax + 0x1c]
call fcn.0050c250
mov ebp, dword [ebp + 4]
test ebp, ebp
mov ebx, dword [esp + 0x10]
jne 0x48f2e6
mov ecx, dword [esi + 0x70]
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 0x48f214
mov ecx, dword [esi + 0x70]
call fcn.004fb200
mov ebx, eax
test ebx, ebx
je 0x48f482
mov edi, 1
lea ebx, [ebx]
mov ecx, ebx
call fcn.004ecf70
mov edx, dword [ebx]
push 0
push 0
mov ecx, ebx
mov ebp, eax
call dword [edx + 0x74]
test eax, eax
je 0x48f47c
mov ecx, dword [esi + 0x70]
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 0x48f450
mov eax, dword [esp + 0x18]
test eax, eax
mov bl, 0xfb
je 0x48f4fc
test byte [esi + 8], 4
jne 0x48f4fc
mov ecx, esi
call fcn.004fccd0
mov ecx, dword [esi + 0x70]
push 0
push 0x4fcca0
call fcn.004fc360
mov ecx, dword [esi + 0x64]
push 0
push 0x4fcca0
call fcn.004fc360
mov ecx, dword [esi + 0x68]
push 0
push 0x4fcca0
call fcn.004fc360
mov ecx, dword [esi + 0x6c]
push 0
push 0x4fcca0
call fcn.004fc360
mov eax, dword [esi + 0x64]
and byte [eax + 8], bl
mov ecx, dword [esi + 0x64]
push 8
call fcn.004eb230
mov eax, dword [esi + 0x64]
or byte [eax + 8], 4
mov eax, dword [esi + 0x70]
and byte [eax + 8], bl
mov ecx, dword [esi + 0x70]
push 8
call fcn.004eb230
mov eax, dword [esi + 0x64]
and byte [eax + 8], bl
mov esi, dword [esi + 0x70]
mov al, byte [esi + 8]
and al, bl
lea ecx, [esp + 0x20]
mov byte [esi + 8], al
call fcn.004e6380
pop edi
pop ebp
pop ebx
pop esi
add esp, 0x19c
ret