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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x3c
push ebx
mov ebx, ecx
mov dword [esp + 0x30], 0
push esi
mov esi, dword [ebp + 8]
push edi
mov eax, dword [ebx]
mov edi, edx
mov dword [esp + 0x34], eax
xor eax, eax
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x44], eax
mov dword [esp + 0x30], eax
test esi, esi
je 0x493f5a
cmp dword [ebx + 0x1d8], eax
jne 0x493f5a
cmp dword [esi + 0x40], eax
jne 0x493f5a
call fcn.004a4d70
test eax, eax
jne 0x493f5a
test byte [edi + 0x2a], 0x10
jne 0x493f5a
cmp dword [ebp + 0xc], 0xa
jne 0x493d76
cmp word [edi + 0x20], ax
jl 0x493d6f
movzx eax, byte [edi + 0x2b]
mov dword [ebp + 0xc], eax
cmp eax, 0xa
jne 0x493d76
mov dword [ebp + 0xc], 2
mov ecx, dword [esi + 0x1c]
cmp dword [ecx], 1
jne 0x493f5a
cmp dword [ecx + 0x1c], 0
jne 0x493f5a
cmp dword [esi + 0x20], 0
jne 0x493f5a
cmp dword [esi + 0x2c], 0
jne 0x493f5a
cmp dword [esi + 0x24], 0
jne 0x493f5a
cmp dword [esi + 0x38], 0
jne 0x493f5a
cmp dword [esi + 0x30], 0
jne 0x493f5a
test byte [esi + 8], 1
jne 0x493f5a
mov eax, dword [esi]
cmp dword [eax], 1
jne 0x493f5a
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp byte [eax], 0xa0
jne 0x493f5a
lea eax, [ecx + 8]
xor edx, edx
push eax
mov ecx, ebx
call fcn.00481ff0
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
je 0x493f5a
mov esi, dword [esp + 0x18]
cmp edi, esi
je 0x493f5a
mov dl, byte [edi + 0x2a]
movzx eax, byte [esi + 0x2a]
movzx ecx, dl
shr ecx, 5
shr eax, 5
not ecx
not eax
xor ecx, eax
test cl, 1
jne 0x493f5a
test dl, 0x10
jne 0x493f5a
cmp dword [edi + 0xc], 0
jne 0x493f5a
movzx ecx, word [esi + 0x22]
cmp cx, word [edi + 0x22]
jne 0x493f5a
mov ax, word [esi + 0x20]
cmp ax, word [edi + 0x20]
jne 0x493f5a
movsx eax, cx
xor ebx, ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x40], eax
test eax, eax
jle 0x493f1e
mov eax, dword [esi + 4]
mov esi, dword [edi + 4]
add esi, 8
lea edi, [eax + 4]
lea ebx, [ebx]
mov al, byte [edi + 9]
cmp al, byte [esi + 5]
jne 0x493f5a
push dword [esi]
push dword [edi + 4]
call fcn.00444980
add esp, 8
test eax, eax
jne 0x493f5a
cmp byte [edi + 8], al
je 0x493eaf
cmp byte [esi + 4], al
je 0x493f5a
test ebx, ebx
jle 0x493f05
mov ebx, dword [esi - 4]
xor ecx, ecx
mov edx, dword [edi]
test ebx, ebx
sete cl
xor eax, eax
test edx, edx
sete al
cmp eax, ecx
jne 0x493f5a
test edx, edx
je 0x493f01
mov ecx, dword [ebx + 8]
mov eax, dword [edx + 8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x493ef8
test dl, dl
je 0x493ef4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x493ef8
add eax, 2
add ecx, 2
test dl, dl
jne 0x493ed8
xor eax, eax
jmp 0x493efd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x493f5a
mov ebx, dword [esp + 0x2c]
inc ebx
add edi, 0x10
add esi, 0x10
mov dword [esp + 0x2c], ebx
cmp ebx, dword [esp + 0x40]
jl 0x493e80
mov esi, dword [esp + 0x18]
mov edi, dword [esi + 8]
mov ecx, 1
mov ebx, dword [esp + 0x24]
test edi, edi
je 0x493f75
mov edi, edi
cmp byte [edi + 0x36], 0
mov eax, dword [esp + 0x30]
mov esi, dword [ebx + 8]
cmovne eax, ecx
mov dword [esp + 0x30], eax
test esi, esi
je 0x493f5a
mov edx, esi
mov ecx, edi
call fcn.00493c10
test eax, eax
jne 0x493f63
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x493f46
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [edi + 0x14]
test edi, edi
je 0x493f71
mov ecx, 1
jmp 0x493f30
mov esi, dword [esp + 0x18]
mov edx, dword [esi + 0x18]
test edx, edx
je 0x493f8d
mov ecx, dword [ebx + 0x18]
push 0xffffffffffffffff
call fcn.0047d4b0
add esp, 4
test eax, eax
jne 0x493f5a
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + 0x18]
test eax, 0x80000
je 0x493fa1
cmp dword [esi + 0x10], 0
jne 0x493f5a
test al, al
js 0x493f5a
mov edx, dword [ebx + 0x40]
call fcn.00498d00
mov edi, dword [esp + 0x14]
mov dword [esp + 0x2c], eax
mov ebx, dword [edi + 8]
mov dword [esp + 0x3c], ebx
test ebx, ebx
jne 0x493fd1
mov ecx, edi
call fcn.0049c800
mov ebx, eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x3c], ebx
mov edx, eax
mov ecx, edi
call fcn.00487c90
mov eax, dword [edi + 0x28]
mov ecx, dword [esp + 0x14]
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x10], eax
lea edi, [eax + 1]
lea eax, [edi + 1]
mov dword [esp + 0x1c], edi
push esi
mov dword [ecx + 0x28], eax
call fcn.00490900
mov ecx, dword [esp + 0x18]
add esp, 4
mov dword [esp + 0x40], eax
call fcn.0047dae0
mov dword [esp + 0x28], eax
call fcn.0047dae0
push 0x69
push esi
push dword [ebp + 0x10]
mov edx, edi
mov dword [esp + 0x2c], eax
call fcn.00490520
mov eax, dword [esp + 0x40]
add esp, 0xc
test dword [eax + 0x18], 0x10000000
jne 0x494087
cmp word [esi + 0x20], 0
jge 0x494042
cmp dword [esi + 8], 0
jne 0x494056
cmp dword [esp + 0x30], 0
jne 0x494056
mov eax, dword [ebp + 0xc]
cmp eax, 2
je 0x494087
cmp eax, 1
je 0x494087
push 0
push edi
mov edx, 0x39
mov ecx, ebx
call fcn.00460df0
add esp, 8
mov edx, 0xd
mov ecx, ebx
mov esi, eax
call fcn.00460d00
mov edx, esi
mov dword [esp + 0x38], eax
mov ecx, ebx
call fcn.004616c0
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
test byte [eax + 0x2a], 0x20
jne 0x49427f
mov edx, dword [esp + 0x10]
push 0x68
push eax
push dword [esp + 0x34]
call fcn.00490520
add esp, 0xc
mov edx, 0x39
mov ecx, ebx
push 0
push dword [esp + 0x14]
call fcn.00460df0
add esp, 8
mov dword [esp + 0x44], eax
cmp word [esi + 0x20], 0
mov ecx, ebx
jl 0x494186
mov esi, dword [esp + 0x20]
mov edx, 0x7b
push esi
push dword [esp + 0x14]
call fcn.00460df0
push esi
push 0
push edi
mov edx, 0x21
mov dword [esp + 0x44], eax
mov ecx, ebx
call fcn.00460c80
mov edi, dword [esp + 0x2c]
add esp, 0x14
mov edx, dword [ebp + 0xc]
mov esi, eax
push edi
mov edi, dword [esp + 0x18]
mov ecx, edi
call fcn.00488020
add esp, 4
mov edx, esi
mov ecx, ebx
call fcn.004616c0
mov eax, dword [esp + 0x40]
test eax, eax
jle 0x49413a
push dword [esp + 0x20]
mov ecx, dword [edi + 8]
mov edx, 0x91
push eax
call fcn.00460df0
add esp, 8
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x18]
push dword [esp + 0x28]
mov edx, 0x7a
mov ecx, ebx
push dword [esp + 0x14]
call fcn.00460df0
mov eax, dword [ebx + 0xc]
add esp, 8
mov edx, dword [ebx + 0x88]
cmp dword [eax + 0x30], edx
jg 0x4941b7
push dword [esp + 0x20]
mov edx, 0x73
mov ecx, ebx
push dword [esp + 0x2c]
push dword [esp + 0x24]
call fcn.00460c40
add esp, 0xc
mov edx, eax
jmp 0x4941f5
cmp dword [esi + 8], 0
push dword [esp + 0x20]
jne 0x4941a2
push edi
mov edx, 0x72
call fcn.00460df0
add esp, 8
mov edi, eax
jmp 0x494142
push dword [esp + 0x14]
mov edx, 0x7b
call fcn.00460df0
add esp, 8
mov edi, eax
jmp 0x494142
mov esi, dword [esp + 0x1c]
lea eax, [edx + 1]
mov dword [ebx + 0x88], eax
lea ecx, [edx + edx*4]
mov eax, dword [ebx + 0x58]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x28]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x20]
mov dword [eax + ecx*4 + 0xc], esi
mov esi, dword [esp + 0x18]
mov word [eax + ecx*4], 0x73
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [ebx]
cmp byte [ecx + 0x45], 0
je 0x49420d
push esi
mov edx, 0xffffffec
call fcn.004618a0
add esp, 4
jmp 0x494240
test edx, edx
jns 0x494218
mov edx, dword [ebx + 0x88]
dec edx
mov eax, dword [ebx + 0x58]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x494239
push 0xffffffffffffffec
push esi
mov edx, eax
mov ecx, ebx
call fcn.00461a90
add esp, 8
jmp 0x494240
mov dword [eax + 0x10], esi
mov byte [eax + 1], 0xec
mov dl, 0xb
mov ecx, ebx
call fcn.004616a0
push edi
mov edi, dword [esp + 0x14]
mov edx, 7
push edi
call fcn.00460df0
push 0
push edi
mov edx, 0x6f
mov ecx, ebx
call fcn.00460df0
push 0
push dword [esp + 0x30]
mov edx, 0x6f
mov ecx, ebx
call fcn.00460df0
add esp, 0x18
jmp 0x4942ac
push dword [esi]
mov edx, dword [ebp + 0x10]
push 1
push dword [esi + 0x1c]
call fcn.004817b0
mov eax, dword [esp + 0x30]
add esp, 0xc
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
push dword [eax]
push 0
push dword [eax + 0x1c]
call fcn.004817b0
add esp, 0xc
mov edi, dword [esi + 8]
mov dword [esp + 0x30], edi
test edi, edi
je 0x49445c
jmp 0x4942c0
mov esi, dword [esp + 0x24]
mov byte [esp + 0xf], 0
mov esi, dword [esi + 8]
test esi, esi
je 0x4942e4
mov edx, esi
mov ecx, edi
call fcn.00493c10
test eax, eax
jne 0x4942e4
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x4942d0
push dword [esp + 0x2c]
mov edx, 0x68
mov ecx, ebx
push dword [esi + 0x2c]
push dword [esp + 0x18]
call fcn.00460c80
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov edx, esi
call fcn.00461c00
push dword [ebp + 0x10]
mov edx, 0x69
mov ecx, ebx
push dword [edi + 0x2c]
push dword [esp + 0x24]
call fcn.00460c80
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov edx, edi
call fcn.00461c00
mov dl, 1
mov ecx, ebx
call fcn.004616a0
push 0
push dword [esp + 0x14]
mov edx, 0x39
call fcn.00460df0
push dword [esp + 0x30]
mov edx, 0x79
mov dword [esp + 0x4c], eax
push dword [esp + 0x1c]
mov ecx, ebx
call fcn.00460df0
mov eax, dword [esp + 0x44]
add esp, 0x10
test dword [eax + 0x18], 0x10000000
je 0x4943cb
movzx eax, word [esi + 0x34]
xor edi, edi
mov dword [esp + 0x18], eax
test eax, eax
jle 0x4943a4
mov esi, dword [esi + 0x20]
mov ebx, eax
push dword [esi]
push 0x505638
call fcn.00444980
add esp, 8
test eax, eax
jne 0x49439c
inc edi
add esi, 4
cmp edi, ebx
jl 0x494381
mov ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
cmp edi, eax
jne 0x4943c5
push 0xffffffffffffffff
push 0
push esi
mov edx, 0x35
mov byte [esp + 0x1b], 0x10
mov ecx, ebx
call fcn.00460c80
add esp, 0xc
mov edi, dword [esp + 0x30]
jmp 0x4943cf
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
test byte [eax + 0x2a], 0x20
je 0x4943e7
mov eax, dword [edi + 0x38]
and al, 3
cmp al, 2
jne 0x4943e7
or byte [esp + 0xf], 1
push 1
push dword [esp + 0x2c]
mov edx, 0x7e
mov ecx, ebx
push esi
call fcn.00460c80
mov dl, byte [esp + 0x1b]
add esp, 0xc
mov ecx, ebx
call fcn.004616a0
mov eax, dword [esp + 0x40]
mov edx, 7
inc eax
push eax
push dword [esp + 0x14]
call fcn.00460df0
mov edx, dword [esp + 0x48]
mov ecx, ebx
call fcn.004616c0
push 0
push dword [esp + 0x1c]
mov edx, 0x6f
mov ecx, ebx
call fcn.00460df0
push 0
push esi
mov edx, 0x6f
mov ecx, ebx
call fcn.00460df0
mov edi, dword [edi + 0x14]
add esp, 0x18
mov dword [esp + 0x30], edi
test edi, edi
jne 0x4942c0
jmp 0x494460
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x44]
test eax, eax
je 0x494471
mov edx, eax
mov ecx, ebx
call fcn.004616c0
mov edi, dword [esp + 0x14]
mov ecx, edi
mov edx, dword [esp + 0x20]
call fcn.0047db00
mov edx, dword [esp + 0x28]
mov ecx, edi
call fcn.0047db00
cmp dword [esp + 0x38], 0
je 0x4944d5
cmp dword [edi + 0x78], 0
je 0x49449f
mov ecx, edi
call fcn.00490a30
push 0
push 0
mov edx, 0x4b
mov ecx, ebx
call fcn.00460df0
mov edx, dword [esp + 0x40]
mov ecx, ebx
call fcn.004616c0
push 0
push esi
mov edx, 0x6f
mov ecx, ebx
call fcn.00460df0
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret