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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xf4
push ebx
xor ebx, ebx
cmp dword [ebp + 0x1c], 0xa
push esi
mov dword [esp + 0xc], ebx
push edi
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
jne 0x6457c2
mov ecx, dword [ebp + 0x14]
lea eax, [ecx + 0xc]
mov esi, eax
mov dword [esp + 0x44], eax
lea eax, [ecx + 8]
mov dword [esp + 0x48], eax
mov eax, dword [eax]
shr eax, 1
add eax, eax
mov dword [esp + 0x54], ecx
add ecx, 4
mov word [esp + 0x3c], ax
mov word [esp + 0x3e], ax
mov eax, dword [ecx]
cmp eax, ebx
mov dword [esp + 0x38], ebx
mov word [esp + 0x34], bx
mov word [esp + 0x36], bx
mov dword [esp + 0x40], esi
mov dword [esp + 0x14], ecx
je 0x6451be
mov edi, dword [ebp + 8]
lea ecx, [esp + 0x24]
push ecx
push eax
mov eax, edi
mov dword [esp + 0x30], ebx
mov word [esp + 0x2c], bx
mov word [esp + 0x2e], bx
call fcn.0064ad00
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
push edx
push eax
lea esi, [esp + 0x3c]
call fcn.006b55f0
push 0x100cf980
lea ecx, [esp + 0x64]
push ecx
call dword [0x100ef7e0]
lea ebx, [esp + 0x60]
call fcn.006b56b0
lea ebx, [esp + 0x3c]
call fcn.006b56b0
lea eax, [esp + 0x24]
call fcn.006b5660
jmp 0x645248
lea edx, [esp + 0x3c]
call fcn.006b5440
test eax, eax
je 0x6451df
mov edx, dword [esp + 0x3c]
push esi
push edx
lea esi, [esp + 0x3c]
call fcn.006b55f0
mov edi, dword [ebp + 8]
jmp 0x64524a
mov ecx, dword [ebp + 0xc]
lea eax, [esp + 0x24]
push eax
mov eax, dword [ebp + 8]
push ecx
mov dword [esp + 0x30], ebx
mov word [esp + 0x2c], bx
mov word [esp + 0x2e], bx
call fcn.0064ad00
lea edx, [esp + 0x24]
call fcn.0065bb00
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
push edx
push eax
lea esi, [esp + 0x3c]
call fcn.006b55f0
push 0x100cf980
lea ecx, [esp + 0x64]
push ecx
call dword [0x100ef7e0]
lea ebx, [esp + 0x60]
call fcn.006b56b0
lea ebx, [esp + 0x3c]
call fcn.006b56b0
lea eax, [esp + 0x24]
call fcn.006b5660
mov edi, dword [ebp + 8]
xor ebx, ebx
mov ecx, dword [edi + 0x74]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
call eax
test eax, eax
je 0x645303
lea ecx, [esp + 0x3c]
push ecx
mov eax, edi
mov dword [esp + 0x44], ebx
mov word [esp + 0x40], bx
mov word [esp + 0x42], bx
call fcn.00650420
cmp word [esp + 0x3c], bx
je 0x6452fa
lea eax, [esp + 0x3c]
lea esi, [esp + 0x34]
call fcn.006b5900
test eax, eax
jne 0x6452fa
mov ecx, dword [ebp + 8]
lea edx, [esp + 0x24]
push edx
mov eax, esi
mov dword [esp + 0x2c], ebx
mov word [esp + 0x28], bx
mov word [esp + 0x2a], bx
call fcn.0063d910
movzx ebx, word [esp + 0x24]
mov eax, ebx
shr eax, 1
lea edi, [eax + eax + 0xe]
lea esi, [esp + 0x58]
call fcn.006275d0
mov esi, dword [esp + 0x58]
mov ecx, dword [ebp + 0x14]
mov dl, byte [ecx]
mov eax, dword [esp + 0x28]
push ebx
push eax
lea ecx, [esi + 0xc]
push ecx
mov byte [esi], dl
mov dword [esi + 4], 0
mov dword [esi + 8], ebx
call dword [0x100ef7ec]
lea eax, [esp + 0x24]
mov dword [ebp + 0x18], edi
mov dword [ebp + 0x14], esi
call fcn.006b5660
mov edi, dword [ebp + 8]
xor ebx, ebx
lea eax, [esp + 0x3c]
call fcn.006b5660
mov edx, dword [ebp + 0xc]
lea eax, [esp + 0x4c]
lea esi, [edi + 0xc4]
push eax
mov eax, esi
mov dword [esp + 0x50], edx
call fcn.006a9350
test eax, eax
je 0x6455f1
push 4
lea ecx, [esp + 0x20]
push ecx
call dword [0x100ef7e8]
lea edx, [esp + 0x1c]
push edx
lea eax, [ebp + 0xc]
push eax
mov eax, esi
call fcn.00652ca0
test eax, eax
je 0x6455e1
push 4
lea ecx, [esp + 0x24]
push ecx
call dword [0x100ef7e8]
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
mov edx, dword [edx]
lea ecx, [esp + 0x20]
push ecx
push 0x100cfae8
push eax
call edx
test eax, eax
jne 0x6455d1
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx]
mov eax, dword [eax + 0x4c]
lea edx, [esp + 0x2c]
push edx
call eax
mov ecx, dword [esp + 0x14]
cmp dword [ecx], ebx
je 0x64541c
push 4
lea edx, [esp + 0x18]
push edx
call dword [0x100ef7e8]
lea eax, [esp + 0x14]
push eax
lea ecx, [ebp + 0xc]
push ecx
mov eax, esi
call fcn.00652ca0
test eax, eax
je 0x64540e
push 4
lea edx, [esp + 0x50]
push edx
call dword [0x100ef7e8]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
lea edx, [esp + 0x4c]
push edx
push 0x100cfae8
push eax
mov eax, dword [ecx]
call eax
test eax, eax
jne 0x645405
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
mov edx, dword [edx + 0x4c]
lea eax, [esp + 0x44]
push eax
call edx
mov ecx, dword [eax]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
mov esi, dword [esp + 0x2c]
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
mov ecx, esi
call edx
lea esi, [esp + 0x44]
call fcn.00675d90
lea esi, [esp + 0x4c]
call fcn.00675d90
lea esi, [esp + 0x14]
call fcn.00675d90
jmp 0x6455c1
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x28], eax
mov eax, dword [ecx]
shr eax, 1
add eax, eax
lea edx, [esp + 0x24]
mov word [esp + 0x24], ax
mov word [esp + 0x26], ax
call fcn.006b5440
test eax, eax
je 0x6455c1
lea eax, [esp + 0xa0]
push eax
lea edx, [esp + 0x28]
lea ecx, [esp + 0x70]
mov dword [esp + 0x78], edx
mov edx, dword [edi + 0x74]
push ecx
push edx
mov eax, edi
mov dword [esp + 0xb0], ebx
mov word [esp + 0xac], bx
mov word [esp + 0xae], bx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0x78], 0x18
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x84], 0x40
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
call fcn.0064bf30
mov eax, dword [esp + 0xb0]
mov esi, dword [eax + 8]
cmp esi, ebx
mov dword [esp + 0x14], esi
je 0x6454cd
mov ecx, dword [esi]
mov edx, dword [ecx + 4]
push esi
call edx
mov eax, dword [esp + 0x2c]
mov edx, dword [esi]
mov dword [esp + 0x4c], eax
mov eax, dword [edx + 0xc]
mov ecx, esi
call eax
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx]
mov esi, eax
mov eax, dword [edx + 0xc]
call eax
cmp esi, eax
lea esi, [esp + 0x14]
sete byte [esp + 0x1b]
call fcn.00675d90
cmp byte [esp + 0x1b], 0
je 0x6455b5
lea eax, [esp + 0x6c]
lea ecx, [esp + 0xb4]
call fcn.00634340
mov ecx, dword [eax]
mov dword [esp + 0x3c], ecx
mov edx, dword [eax + 4]
push 8
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x68]
push ecx
mov dword [esp + 0x4c], edx
call dword [0x100ef7ec]
mov eax, dword [esp + 0x54]
movzx eax, byte [eax]
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
mov edx, dword [edx + 0x84]
push eax
lea eax, [esp + 0x64]
push eax
call edx
mov edi, eax
cmp edi, 0x80004001
je 0x6455b2
lea eax, [esp + 0xa0]
call fcn.0063b140
lea esi, [esp + 0x2c]
call fcn.00675d90
lea esi, [esp + 0x20]
call fcn.00675d90
lea esi, [esp + 0x1c]
call fcn.00675d90
lea eax, [esp + 0x34]
call fcn.006b5660
lea esi, [esp + 0x58]
call fcn.00622330
cmp edi, ebx
jne 0x6455a2
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov eax, edi
and eax, 0xefffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov edi, dword [ebp + 8]
lea eax, [esp + 0xa0]
call fcn.0063b140
mov eax, dword [esp + 0x2c]
cmp eax, ebx
je 0x6455d1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x6455e1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x6455f1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x4c]
mov dword [esp + 0x4c], eax
push ecx
lea eax, [edi + 0xc4]
call fcn.006a9350
test eax, eax
jne 0x645691
lea edx, [esp + 0x34]
push edx
lea esi, [esp + 0xe0]
mov dword [esp + 0x14], 1
call fcn.0062a5e0
mov eax, dword [eax]
add esp, 4
mov ebx, eax
push 1
mov eax, edi
call fcn.006481a0
test eax, eax
jne 0x64568f
lea eax, [esp + 0x34]
push eax
lea esi, [esp + 0x88]
mov dword [esp + 0x14], 7
call fcn.0062a5e0
mov eax, dword [eax]
lea ecx, [esp + 0x70]
add esp, 4
push ecx
call fcn.006ed090
mov eax, dword [eax]
add esp, 4
mov ebx, eax
push 1
mov eax, edi
call fcn.006481a0
test eax, eax
jne 0x64568f
mov eax, dword [edi + 0x6c]
push 1
call fcn.006d4e20
xor ebx, ebx
test eax, eax
jne 0x645691
mov byte [esp + 0x1b], al
jmp 0x645696
xor ebx, ebx
mov byte [esp + 0x1b], 1
test byte [esp + 0x10], 4
je 0x6456bb
mov eax, dword [esp + 0x6c]
and dword [esp + 0x10], 0xfffffffb
cmp eax, ebx
je 0x6456bb
call fcn.00622510
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
test byte [esp + 0x10], 2
je 0x6456ec
mov eax, dword [esp + 0x84]
and dword [esp + 0x10], 0xfffffffd
cmp eax, ebx
je 0x6456ec
call fcn.00622510
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
test byte [esp + 0x10], 1
je 0x645703
mov eax, dword [esp + 0xdc]
cmp eax, ebx
je 0x645703
call fcn.00622510
cmp byte [esp + 0x1b], 0
je 0x6457b7
lea eax, [esp + 0xa0]
push eax
lea edx, [esp + 0x38]
push edi
lea eax, [esp + 0x74]
mov dword [esp + 0x74], 0x18
mov dword [esp + 0x78], ebx
mov dword [esp + 0x80], 0x40
mov dword [esp + 0x7c], edx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
call fcn.0064bee0
mov ecx, dword [esp + 0x54]
neg eax
sbb eax, eax
add eax, 1
cmp byte [ecx], 0
jne 0x645785
cmp eax, ebx
je 0x645785
lea eax, [esp + 0x34]
call fcn.006b5660
mov eax, dword [esp + 0x58]
cmp eax, ebx
je 0x645777
call fcn.00622510
mov eax, 0xc0000035
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov eax, dword [ebp + 0xc]
lea edx, [esp + 0x34]
push edx
push eax
push edi
call fcn.0064b0c0
mov esi, eax
lea eax, [esp + 0x34]
call fcn.006b5660
mov eax, dword [esp + 0x58]
cmp eax, ebx
je 0x6457ac
call fcn.00622510
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
lea eax, [esp + 0x34]
call fcn.006b5660
jmp 0x6457c5
mov edi, dword [ebp + 8]
mov eax, dword [ebp + 0x1c]
mov esi, dword [ebp + 0x18]
add eax, 0xfffffffc
cmp eax, 0x1a
ja 0x645fd0
movzx ecx, byte [eax + 0x1002508c]
jmp dword [ecx*4 + 0x10025070]
push 4
lea ecx, [esp + 0x50]
push ecx
call dword [0x100ef7e8]
lea edx, [esp + 0x4c]
push edx
lea eax, [ebp + 0xc]
push eax
lea eax, [edi + 0xc4]
call fcn.00652ca0
test eax, eax
je 0x646000
mov dword [esp + 0x10], ebx
mov edi, 0xc0000003
jmp 0x64600c
mov edi, dword [esp + 0x14]
mov dword [esp + 0x10], 1
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x646024
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x4c], 0
cmp dword [esp + 0x10], 0
je 0x646056
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x18]
mov ecx, dword [0x100ef48c]
push eax
mov eax, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
add ecx, 0x250
push edx
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x24]
call eax
call eax
mov edi, eax
mov eax, dword [esp + 0x58]
test eax, eax
je 0x646063
call fcn.00622510
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18