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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
mov eax, dword [ecx]
push ebx
push esi
push edi
xor edi, edi
mov dword [ebp - 8], ecx
mov ebx, edx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x24], edi
cmp dword [ecx + 0x10c], edi
jne 0x494715
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], edi
jne 0x494715
cmp byte [ebx + 0x2b], 1
je 0x494715
cmp dword [ebp + 0xc], 0xb
jne 0x4944ad
cmp word [ebx + 0x20], di
jl 0x4944a6
movzx esi, byte [ebx + 0x2a]
mov dword [ebp + 0xc], esi
cmp esi, 0xb
jne 0x4944ad
mov dword [ebp + 0xc], 2
mov edx, dword [eax + 0x20]
xor esi, esi
inc esi
cmp dword [edx], esi
jne 0x494715
cmp dword [edx + 0x1c], edi
jne 0x494715
cmp dword [eax + 0x24], edi
jne 0x494715
cmp dword [eax + 0x30], edi
jne 0x494715
cmp dword [eax + 0x28], edi
jne 0x494715
cmp dword [eax + 0x3c], edi
jne 0x494715
cmp dword [eax + 0x34], edi
jne 0x494715
test byte [eax + 4], 1
jne 0x494715
mov eax, dword [eax + 0x1c]
cmp dword [eax], esi
jne 0x494715
mov eax, dword [eax + 8]
cmp byte [eax], 0xb4
jne 0x494715
lea eax, [edx + 8]
xor edx, edx
push eax
call fcn.00486f38
mov esi, eax
mov dword [ebp - 0x28], esi
pop ecx
test esi, esi
je 0x494715
mov eax, dword [esi + 0x14]
cmp eax, dword [ebx + 0x14]
jne 0x49453f
mov eax, dword [esi + 0x3c]
cmp eax, dword [ebx + 0x3c]
je 0x494715
mov ecx, dword [esi + 0x1c]
mov eax, dword [ebx + 0x1c]
shr ecx, 7
shr eax, 7
not ecx
not eax
xor ecx, eax
test cl, 1
jne 0x494715
cmp byte [esi + 0x2b], 0
jne 0x494715
movzx ecx, word [ebx + 0x22]
cmp cx, word [esi + 0x22]
jne 0x494715
mov ax, word [ebx + 0x20]
cmp ax, word [esi + 0x20]
jne 0x494715
mov eax, 0x10000
test dword [ebx + 0x1c], eax
je 0x494593
test dword [esi + 0x1c], eax
je 0x494715
xor eax, eax
mov dword [ebp - 0x20], edi
cmp ax, cx
jge 0x4946e1
push 0x60
mov edx, edi
pop eax
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x38], eax
mov edi, dword [ebx + 4]
mov ecx, dword [esi + 4]
add edi, edx
add ecx, edx
mov dword [ebp - 0x18], ecx
mov dx, word [edi + 0xe]
and dx, ax
mov ax, word [ecx + 0xe]
and ax, word [ebp - 0x38]
cmp dx, ax
jne 0x494715
test dx, dx
je 0x494602
push 0xffffffffffffffff
mov edx, edi
mov ecx, ebx
call fcn.004872d4
mov edx, dword [ebp - 0x18]
mov ecx, esi
push eax
call fcn.004872d4
mov edx, eax
xor ecx, ecx
call fcn.00481203
pop ecx
pop ecx
test eax, eax
jne 0x494715
mov ecx, dword [ebp - 0x18]
mov al, byte [edi + 8]
cmp al, byte [ecx + 8]
jne 0x494715
call fcn.00487374
mov ecx, edi
mov dword [ebp - 0x1c], eax
call fcn.00487374
mov ecx, eax
mov eax, dword [ebp - 0x1c]
test ecx, ecx
jne 0x49462c
neg eax
sbb eax, eax
jmp 0x49463b
test eax, eax
je 0x494715
mov edx, eax
call fcn.00453ce5
test eax, eax
jne 0x494715
test byte [edi + 4], 0xf
je 0x494656
mov eax, dword [ebp - 0x18]
test byte [eax + 4], 0xf
je 0x494715
test byte [edi + 0xe], 0x60
jne 0x4946c2
cmp dword [ebp - 0x20], 0
jle 0x4946c2
mov edx, edi
mov ecx, ebx
call fcn.004872d4
mov edx, dword [ebp - 0x18]
mov ecx, esi
mov edi, eax
call fcn.004872d4
mov edx, eax
xor ecx, ecx
test edx, edx
sete cl
xor eax, eax
test edi, edi
sete al
cmp eax, ecx
jne 0x494715
test edi, edi
je 0x4946c2
mov ecx, dword [edx + 8]
mov eax, dword [edi + 8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4946b9
test dl, dl
je 0x4946b5
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4946b9
add eax, 2
add ecx, 2
test dl, dl
jne 0x494699
xor eax, eax
jmp 0x4946be
sbb eax, eax
or eax, 1
test eax, eax
jne 0x494715
mov edi, dword [ebp - 0x20]
mov edx, dword [ebp - 0x10]
inc edi
movsx eax, word [ebx + 0x22]
add edx, 0x10
push 0x60
cmp edi, eax
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x10], edx
pop eax
jl 0x4945ac
mov edi, dword [ebx + 8]
jmp 0x49473d
mov eax, dword [ebp - 0x24]
cmp byte [edi + 0x36], 0
push 1
pop ecx
cmovne eax, ecx
mov dword [ebp - 0x24], eax
mov eax, dword [esi + 8]
jmp 0x49470e
mov edx, eax
mov ecx, edi
call fcn.0049436a
test eax, eax
mov eax, dword [ebp - 0x20]
jne 0x49471c
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x4946fb
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret
mov eax, dword [eax + 0x2c]
cmp eax, dword [edi + 0x2c]
jne 0x49473a
mov eax, dword [esi + 0x3c]
cmp eax, dword [ebx + 0x3c]
jne 0x49473a
mov ecx, 0x19b
call fcn.00453a03
test eax, eax
je 0x494715
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x4946e6
mov edx, dword [ebx + 0x10]
test edx, edx
je 0x494757
mov ecx, dword [esi + 0x10]
push 0xffffffffffffffff
call fcn.00481469
pop ecx
test eax, eax
jne 0x494715
mov edi, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [edi + 0x20]
mov ecx, dword [edi + 0x24]
and eax, 0x4000
or eax, edx
je 0x494770
cmp dword [ebx + 0x30], edx
jne 0x494715
xor eax, eax
inc eax
and ecx, eax
mov eax, edx
or eax, ecx
jne 0x494715
mov edx, dword [esi + 0x3c]
mov ecx, edi
call fcn.00499367
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x1c], eax
call fcn.0049bbde
mov edx, dword [ebp - 0x1c]
mov edi, eax
mov eax, dword [ebp - 8]
mov ecx, eax
cmp dword [eax + 0x78], 0
cmovne ecx, dword [eax + 0x78]
call fcn.0048bec0
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x10]
push ebx
mov eax, dword [ecx + 0x28]
mov dword [ebp - 4], eax
inc eax
mov dword [ebp - 0xc], eax
inc eax
mov dword [ecx + 0x28], eax
call fcn.00491d9f
pop ecx
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x38], eax
call fcn.00481e7d
xor ecx, ecx
mov dword [ebp - 0x20], eax
push ecx
push eax
push ecx
push 0x4b
pop edx
mov ecx, edi
call fcn.0046b9a1
mov ecx, dword [ebp - 8]
add esp, 0xc
call fcn.00481e7d
mov edx, dword [ebp - 0xc]
push 0x71
push ebx
push dword [ebp + 0x10]
mov dword [ebp - 0x10], eax
call fcn.004918ed
mov eax, dword [ebp - 0x14]
add esp, 0xc
test byte [eax + 0x18], 4
jne 0x494863
xor ecx, ecx
cmp word [ebx + 0x20], cx
jge 0x494814
cmp dword [ebx + 8], ecx
jne 0x494828
cmp dword [ebp - 0x24], ecx
jne 0x494828
mov eax, dword [ebp + 0xc]
xor edx, edx
inc edx
cmp eax, 2
je 0x494866
cmp eax, edx
je 0x494866
push ecx
push ecx
push dword [ebp - 0xc]
mov ecx, edi
push 0x24
pop edx
call fcn.0046b9a1
add esp, 0xc
mov esi, eax
xor eax, eax
mov ecx, edi
push eax
push eax
push eax
push 9
pop edx
call fcn.0046b9a1
add esp, 0xc
mov dword [ebp - 0x40], eax
mov edx, esi
mov ecx, edi
call fcn.0046c1e8
mov ecx, dword [edi + 0x6c]
mov esi, dword [ebp - 0x28]
mov dword [eax + 8], ecx
xor edx, edx
inc edx
test byte [esi + 0x1c], 0x80
mov ecx, dword [ebp - 8]
jne 0x494a0a
mov edx, dword [ebp - 4]
push 0x70
push esi
push dword [ebp - 0x1c]
call fcn.004918ed
add esp, 0xc
xor eax, eax
mov ecx, edi
push eax
push eax
push dword [ebp - 4]
push 0x24
pop edx
call fcn.0046b9a1
xor ecx, ecx
mov dword [ebp - 0x3c], eax
add esp, 0xc
cmp word [ebx + 0x20], cx
jl 0x49491b
push ecx
push dword [ebp - 0x10]
mov edx, 0x87
mov ecx, edi
push dword [ebp - 4]
call fcn.0046b9a1
mov dword [ebp - 0x24], eax
add esp, 0xc
mov eax, dword [ebp - 0x14]
test byte [eax + 0x18], 4
jne 0x4948fc
push dword [ebp - 0x10]
xor eax, eax
mov ecx, edi
push eax
push dword [ebp - 0xc]
push 0x1f
pop edx
call fcn.0046b9a1
mov edx, dword [ebp + 0xc]
add esp, 0xc
mov ecx, dword [ebp - 8]
mov esi, eax
push ebx
call fcn.0048c0d8
pop ecx
mov edx, esi
mov ecx, edi
call fcn.0046c1e8
mov ecx, dword [edi + 0x6c]
mov esi, dword [ebp - 0x28]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x38]
test eax, eax
jle 0x49494e
push 0
push dword [ebp - 0x10]
mov edx, 0x9f
push eax
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 8]
call fcn.0046b9a1
jmp 0x49494b
cmp dword [ebx + 8], ecx
jne 0x494935
mov eax, dword [ebp - 0x14]
test byte [eax + 0x18], 8
jne 0x494935
push ecx
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push 0x7f
pop edx
jmp 0x494941
push ecx
push dword [ebp - 0x10]
mov edx, 0x87
push dword [ebp - 4]
mov ecx, edi
call fcn.0046b9a1
mov dword [ebp - 0x24], eax
add esp, 0xc
mov eax, dword [ebp - 0x14]
test byte [eax + 0x18], 4
je 0x494976
xor eax, eax
mov edx, 0x89
push eax
push eax
push dword [ebp - 0xc]
mov ecx, edi
call fcn.0046b9a1
add esp, 0xc
mov dword [ebp - 0x18], 0x98
jmp 0x49497d
mov dword [ebp - 0x18], 0xa9
push dword [ebp - 0x10]
mov edx, 0x81
mov ecx, edi
push dword [ebp - 4]
push dword [ebp - 0xc]
call fcn.0046b9a1
add esp, 0xc
mov edx, 0x80
mov ecx, edi
push dword [ebp - 0x10]
push dword [ebp - 0x20]
push dword [ebp - 0xc]
call fcn.0046b9a1
mov eax, dword [ebp - 0x14]
add esp, 0xc
test byte [eax + 0x18], 4
jne 0x4949c5
push 0xfffffffffffffffb
push ebx
or edx, 0xffffffff
mov ecx, edi
call fcn.0046c12a
pop ecx
pop ecx
mov edx, dword [ebp - 0x18]
mov ecx, edi
call fcn.0046bf17
xor eax, eax
push eax
push dword [ebp - 0x24]
push dword [ebp - 4]
push 0x27
pop edx
call fcn.0046b9a1
add esp, 0xc
xor eax, eax
mov ecx, edi
push eax
push eax
push dword [ebp - 4]
push 0x7a
pop edx
call fcn.0046b9a1
add esp, 0xc
xor eax, eax
mov ecx, edi
push eax
push eax
push dword [ebp - 0xc]
push 0x7a
pop edx
call fcn.0046b9a1
jmp 0x494a2e
push dword [ebx]
push edx
push dword [ebx + 0x14]
mov edx, dword [ebp + 0x10]
call fcn.00486842
mov edx, dword [ebp - 0x1c]
add esp, 0xc
mov ecx, dword [ebp - 8]
xor eax, eax
push dword [esi]
push eax
push dword [esi + 0x14]
call fcn.00486842
mov eax, dword [ebx + 8]
add esp, 0xc
mov dword [ebp - 0x18], eax
test eax, eax
je 0x494c0f
mov ebx, dword [esi + 8]
test ebx, ebx
je 0x494a60
mov esi, dword [ebp - 0x18]
mov edx, ebx
mov ecx, esi
call fcn.0049436a
test eax, eax
jne 0x494a5d
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x494a49
mov esi, dword [ebp - 0x28]
push dword [ebp - 0x1c]
mov ecx, edi
push dword [ebx + 0x2c]
push dword [ebp - 4]
push 0x70
pop edx
call fcn.0046b9a1
mov ecx, dword [ebp - 8]
add esp, 0xc
mov edx, ebx
call fcn.0046c1cd
push dword [ebp + 0x10]
mov eax, dword [ebp - 0x18]
mov ecx, edi
push dword [eax + 0x2c]
push dword [ebp - 0xc]
push 0x71
pop edx
call fcn.0046b9a1
mov edx, dword [ebp - 0x18]
add esp, 0xc
mov ecx, dword [ebp - 8]
call fcn.0046c1cd
xor eax, eax
mov ecx, edi
lea edx, [eax + 1]
call fcn.0046bf17
xor eax, eax
push eax
push eax
push dword [ebp - 4]
push 0x24
pop edx
call fcn.0046b9a1
mov dword [ebp - 0x38], eax
add esp, 0xc
mov eax, dword [ebp - 0x14]
test byte [eax + 0x18], 4
je 0x494b40
movzx edx, word [ebx + 0x34]
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x2c], edx
test edx, edx
je 0x494b07
mov ebx, dword [ebx + 0x20]
cmp dword [ebx], 0
je 0x494b07
mov edx, dword [ebx]
mov ecx, 0x85a914
call fcn.00453ce5
mov edx, dword [ebp - 0x2c]
test eax, eax
mov eax, dword [ebp - 0x24]
jne 0x494b07
inc eax
add ebx, 4
mov dword [ebp - 0x24], eax
cmp eax, edx
jl 0x494ae1
xor ebx, ebx
mov ecx, ebx
cmp eax, edx
jne 0x494b5a
push ebx
push ebx
mov ebx, dword [ebp - 0xc]
mov edx, 0x89
push ebx
mov ecx, edi
call fcn.0046b9a1
mov eax, dword [ebp - 4]
add esp, 0xc
mov dword [ebp - 0x24], eax
mov edx, 0x81
xor eax, eax
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x34], 0x90
jmp 0x494b7a
xor ebx, ebx
test byte [esi + 0x1c], 0x80
mov ecx, ebx
je 0x494b5a
mov eax, dword [ebp - 0x18]
push 1
mov al, byte [eax + 0x38]
and al, 3
cmp al, 2
pop eax
cmove ecx, eax
mov eax, dword [ebp - 4]
mov edx, 0x86
mov ebx, dword [ebp - 0xc]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
xor eax, eax
inc eax
mov dword [ebp - 0x2c], eax
movzx eax, cx
mov dword [ebp - 0x34], eax
push dword [ebp - 0x2c]
mov ecx, edi
push dword [ebp - 0x24]
push dword [ebp - 0x30]
call fcn.0046b9a1
add esp, 0xc
xor eax, eax
mov edx, 0x8a
mov ecx, edi
push eax
push dword [ebp - 0x20]
push ebx
call fcn.0046b9a1
mov edx, dword [ebp - 0x34]
add esp, 0xc
or edx, 8
mov ecx, edi
call fcn.0046bf17
xor eax, eax
push eax
mov eax, dword [ebp - 0x38]
inc eax
push eax
push dword [ebp - 4]
push 0x27
pop edx
call fcn.0046b9a1
mov edx, dword [ebp - 0x38]
add esp, 0xc
mov ecx, edi
call fcn.0046c1e8
mov ecx, dword [edi + 0x6c]
mov dword [eax + 8], ecx
xor eax, eax
push eax
push eax
push dword [ebp - 4]
mov ecx, edi
push 0x7a
pop edx
call fcn.0046b9a1
add esp, 0xc
xor eax, eax
mov ecx, edi
push eax
push eax
push ebx
push 0x7a
pop edx
call fcn.0046b9a1
mov eax, dword [ebp - 0x18]
add esp, 0xc
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x494a3f
jmp 0x494c12
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x494c28
mov edx, eax
mov ecx, edi
call fcn.0046c1e8
mov ecx, dword [edi + 0x6c]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 8]
call fcn.00481e9c
mov edx, dword [ebp - 0x20]
call fcn.00481e9c
mov esi, dword [ebp - 0x40]
xor eax, eax
test esi, esi
je 0x494c86
cmp dword [ecx + 0x74], eax
je 0x494c50
call fcn.00491f2e
xor eax, eax
push eax
push eax
push eax
push 0x46
pop edx
mov ecx, edi
call fcn.0046b9a1
add esp, 0xc
mov edx, esi
mov ecx, edi
call fcn.0046c1e8
mov ecx, dword [edi + 0x6c]
mov dword [eax + 8], ecx
xor eax, eax
push eax
push eax
push ebx
push 0x7a
pop edx
mov ecx, edi
call fcn.0046b9a1
add esp, 0xc
jmp 0x494715
inc eax
jmp 0x494717