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

Disassembly:
sub esp, 0xfc
mov eax, dword [0x101e6040]
xor eax, esp
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x104]
push ebx
push ebp
mov ebp, ecx
mov dword [esp + 0x50], eax
push esi
push edi
mov ecx, dword [ebp + 0x424]
test ecx, ecx
je 0x1006442a
call fcn.1005f8f0
mov dword [esp + 0x40], edx
jmp 0x1006443f
xorps xmm0, xmm0
movlpd qword [esp + 0x28], xmm0
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x28]
cmp dword [ebp + 0x444], 0
mov dword [esp + 0x30], eax
mov dword [esp + 0x44], 0
jne 0x10064496
mov ecx, dword [ebp + 0x14]
lea edx, [ebp + 0x10]
sub ecx, dword [edx]
lea esi, [ebp + 0x448]
sar ecx, 2
xor edi, edi
xor eax, eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x24], 0
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], 0
mov dword [esp + 0x3c], edi
mov dword [esp + 0x48], eax
mov dword [esp + 0x54], eax
jmp 0x1006451b
mov edx, dword [ebp + 0x450]
mov eax, dword [ebp + 0x448]
or eax, dword [ebp + 0x44c]
lea edi, [edx - 1]
mov dword [esp + 0x24], edi
jne 0x100644b7
mov edi, edx
mov dword [esp + 0x24], edi
mov ecx, dword [ebp + 0x14]
lea edx, [ebp + 0x10]
sub ecx, dword [edx]
lea esi, [ebp + 0x448]
xor eax, eax
sar ecx, 2
xor ebx, ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x48], eax
mov eax, dword [esi]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], ebx
cmp eax, dword [ebp + 0x60]
jne 0x100644fb
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x64]
jne 0x100644fb
xor edi, edi
mov dword [esp + 0x54], edi
jmp 0x1006451b
mov dword [esp + 0x24], edi
xor edi, edi
xor eax, eax
mov dword [esp + 0x54], 1
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x48], eax
xor ebx, ebx
mov dword [esp + 0x50], ebx
test ecx, ecx
jle 0x10064e6f
nop dword [eax]
mov dword [ebp + 0x210], 0
mov dword [ebp + 0x214], 0
mov eax, dword [edx]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x4c], esi
mov ebx, dword [eax + ebx*4]
cmp dword [ebx + 0x128], 0
je 0x10064567
inc dword [esp + 0x48]
jmp 0x10064df2
cmp dword [ebx + 0x12c], 0
jne 0x10064df2
inc edi
mov dword [esp + 0x34], 0
mov dword [esp + 0x3c], edi
mov edi, dword [ebx + 0x11c]
test edi, edi
je 0x1006467d
cmp dword [ebx + 0xc], 0
je 0x1006459f
mov dword [esp + 0x34], 0xfde9
jmp 0x100645a6
mov eax, dword [ebp + 0x38]
mov dword [esp + 0x34], eax
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [eax*4 + 1]
push eax
push 1
mov dword [esp + 0x28], eax
call fcn.1015c282
mov esi, eax
add esp, 8
test esi, esi
je 0x100645ee
push 0
push 0
push dword [esp + 0x28]
push esi
push 0xffffffffffffffff
push edi
push 0
push dword [esp + 0x50]
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
jne 0x10064600
push esi
call fcn.10154f5a
add esp, 4
mov dword [esp + 0x20], 0
mov dword [esp + 0x34], 0
jmp 0x1006467d
mov edx, esi
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x10064605
mov eax, dword [esp + 0x38]
sub edx, ecx
mov edi, dword [esp + 0x28]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x20], esi
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edi
je 0x1006467d
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10064635
mov eax, dword [esp + 0x38]
sub ecx, edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x20], esi
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edi
cmp ecx, 0x8000
jbe 0x1006467d
mov byte [esi + 0x8000], 0
mov dword [esp + 0x34], 0x8000
mov dword [esp + 0x20], esi
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edi
cmp dword [ebx + 8], 0
je 0x10064e60
xorps xmm0, xmm0
mov dword [esp + 0xa4], 0
xor eax, eax
movlpd qword [esp + 0x84], xmm0
movlpd qword [esp + 0x8c], xmm0
movlpd qword [esp + 0x94], xmm0
movlpd qword [esp + 0x9c], xmm0
mov word [esp + 0xa8], ax
mov dword [esp + 0x7c], 0x2014b50
mov dword [esp + 0x80], 0x140014
mov dword [esp + 0x5c], 1
mov dword [esp + 0x78], eax
movlpd qword [esp + 0x70], xmm0
movlpd qword [esp + 0x68], xmm0
movlpd qword [esp + 0x60], xmm0
mov esi, dword [ebx + 0x54]
mov eax, dword [ebx + 0x50]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x38], esi
test esi, esi
jl 0x10064717
jg 0x1006470d
cmp eax, 0xffffffff
jb 0x10064717
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], esi
jmp 0x1006472d
movlpd qword [esp + 0x68], xmm0
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x4c], eax
mov edx, dword [ebx + 0x4c]
mov ecx, dword [ebx + 0x48]
test edx, edx
jl 0x10064748
jg 0x1006473e
cmp ecx, 0xffffffff
jb 0x10064748
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], edx
jmp 0x10064756
movlpd qword [esp + 0x60], xmm0
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
mov eax, dword [ebx + 0xb8]
xor esi, esi
cmp eax, 0xffff
cmovge esi, eax
mov dword [esp + 0x78], esi
mov edi, dword [ebx + 0xc4]
mov dword [esp + 0x28], esi
mov esi, dword [ebx + 0xc0]
test edi, edi
jl 0x1006478f
jg 0x10064785
cmp esi, 0xffffffff
jb 0x1006478f
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], edi
jmp 0x1006479d
movlpd qword [esp + 0x70], xmm0
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0x70]
xor eax, eax
mov word [esp + 0x5e], ax
test edx, edx
jne 0x100647ad
cmp ecx, 0xffffffff
jb 0x100647b7
mov eax, 8
mov word [esp + 0x5e], ax
cmp dword [esp + 0x38], 0
ja 0x100647c5
cmp dword [esp + 0x4c], 0xffffffff
jb 0x100647ce
add ax, 8
mov word [esp + 0x5e], ax
test edi, edi
jne 0x100647d7
cmp esi, 0xffffffff
jb 0x100647e0
add ax, 8
mov word [esp + 0x5e], ax
cmp dword [esp + 0x28], 0xffff
jb 0x100647f3
add ax, 4
mov word [esp + 0x5e], ax
push ebx
lea eax, [esp + 0x88]
mov ecx, ebp
push eax
call fcn.1008d9c0
mov al, byte [ebx + 0x110]
mov byte [esp + 0x81], al
mov ax, word [ebx + 0x114]
mov word [esp + 0x86], ax
mov eax, dword [ebx + 0xd2]
mov dword [esp + 0x88], eax
mov dword [esp + 0x28], eax
mov eax, dword [ebx + 0x60]
mov dword [esp + 0x8c], eax
cmp dword [ebx + 0x54], 0
mov eax, dword [ebx + 0x50]
jl 0x10064857
jg 0x1006484a
cmp eax, 0xffffffff
jbe 0x10064857
mov dword [esp + 0x90], 0xffffffff
jmp 0x1006485e
mov dword [esp + 0x90], eax
cmp dword [ebx + 0x4c], 0
mov eax, dword [ebx + 0x48]
jl 0x1006487b
jg 0x1006486e
cmp eax, 0xffffffff
jbe 0x1006487b
mov dword [esp + 0x94], 0xffffffff
jmp 0x10064882
mov dword [esp + 0x94], eax
mov ecx, dword [ebx + 8]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10064888
mov eax, dword [esp + 0x34]
sub ecx, edx
xor edi, edi
mov word [esp + 0x98], cx
mov word [esp + 0x9a], di
mov word [esp + 0x9c], ax
mov eax, dword [ebx + 0xb8]
cmp eax, 0xffff
jle 0x100648c1
mov eax, 0xffff
mov word [esp + 0x9e], ax
xor eax, eax
mov word [esp + 0xa0], ax
cmp dword [ebx + 0x120], eax
jne 0x100648e0
mov esi, dword [ebx + 0x7c]
jmp 0x1006493d
mov eax, dword [ebp + 0xc4]
cmp dword [ebx + 0x10c], eax
jne 0x100648f6
mov esi, dword [ebx + 0x108]
jmp 0x1006493d
mov esi, dword [ebx + 0x7c]
cmp eax, 3
jne 0x1006493d
mov ecx, esi
mov eax, esi
and ecx, 0x10
shl ecx, 0xa
or ecx, 0x1b4
mov edx, ecx
or edx, 0xa000
test esi, 0x400
cmove edx, ecx
mov ecx, edx
or ecx, 0x8000
test al, 0x20
cmove ecx, edx
shl ecx, 0x10
cmp dword [ebx + 0x10c], edi
jne 0x1006493b
or esi, ecx
jmp 0x1006493d
mov esi, ecx
mov dword [esp + 0xa2], esi
mov eax, dword [ebx + 0xc0]
cmp dword [ebx + 0xc4], edi
jl 0x10064966
jg 0x10064959
cmp eax, 0xffffffff
jbe 0x10064966
mov dword [esp + 0xa6], 0xffffffff
jmp 0x1006496d
mov dword [esp + 0xa6], eax
mov eax, dword [esp + 0x28]
xor ecx, ecx
cmp dword [ebp + 0xec], ecx
cmovne eax, ecx
mov dword [esp + 0x88], eax
mov eax, dword [ebx + 0x78]
cmp eax, 2
je 0x10064995
cmp eax, 3
je 0x10064995
cmp eax, 4
jne 0x100649bc
mov ecx, dword [esp + 0x14]
mov eax, 0x63
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov word [esp + 0x86], ax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], edx
jmp 0x100649c8
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
cmp dword [ebp + 0x48], edi
je 0x100649f6
cmp dword [ebx + 0xf0], edi
jne 0x100649dd
cmp dword [ebx + 0xf4], edi
je 0x100649f6
mov edi, 0x24
mov dword [esp + 0x14], ecx
mov word [esp + 0x9a], di
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], edx
cmp dword [ebx + 0x118], 0
je 0x10064a11
mov eax, dword [esp + 0x5e]
add eax, 4
add di, ax
mov word [esp + 0x9a], di
mov eax, dword [ebx + 0x78]
cmp eax, 2
je 0x10064a23
cmp eax, 3
je 0x10064a23
cmp eax, 4
jne 0x10064a3b
add di, 0xb
mov dword [esp + 0x14], ecx
mov word [esp + 0x9a], di
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], edx
cmp dword [ebp + 0x84], 0
je 0x10064a5d
cmp dword [ebx + 0x1d], 0
je 0x10064a5d
mov ax, word [ebx + 0x19]
add ax, 9
add di, ax
mov word [esp + 0x9a], di
cmp dword [ebx + 0x68], 0
jne 0x10064a7f
cmp dword [ebp + 0x88], 0
je 0x10064a7f
cmp word [ebx + 0x31], 0
je 0x10064a7f
add di, 0xc
mov word [esp + 0x9a], di
mov eax, dword [ebp + 0x1f8]
lea edi, [ebp + 0x1f8]
push 0
push 0x2e
lea ecx, [esp + 0x84]
push ecx
mov ecx, edi
call dword [eax + 0x18]
movzx eax, word [esp + 0x98]
mov ecx, edi
mov esi, dword [edi]
cdq
push edx
push eax
push dword [ebx + 8]
call dword [esi + 0x18]
cmp dword [ebx + 0x118], 0
je 0x10064b43
mov eax, dword [edi]
lea ecx, [esp + 0x5c]
push 0
push 2
push ecx
mov ecx, edi
call dword [eax + 0x18]
mov eax, dword [edi]
lea ecx, [esp + 0x5e]
push 0
push 2
push ecx
mov ecx, edi
call dword [eax + 0x18]
mov eax, dword [esp + 0x60]
or eax, dword [esp + 0x64]
je 0x10064af8
mov eax, dword [edi]
lea ecx, [esp + 0x60]
push 0
push 8
push ecx
mov ecx, edi
call dword [eax + 0x18]
mov eax, dword [esp + 0x68]
or eax, dword [esp + 0x6c]
je 0x10064b12
mov eax, dword [edi]
lea ecx, [esp + 0x68]
push 0
push 8
push ecx
mov ecx, edi
call dword [eax + 0x18]
mov eax, dword [esp + 0x70]
or eax, dword [esp + 0x74]
je 0x10064b2c
mov eax, dword [edi]
lea ecx, [esp + 0x70]
push 0
push 8
push ecx
mov ecx, edi
call dword [eax + 0x18]
cmp dword [esp + 0x78], 0
je 0x10064b43
mov eax, dword [edi]
lea ecx, [esp + 0x78]
push 0
push 4
push ecx
mov ecx, edi
call dword [eax + 0x18]
cmp dword [ebp + 0x48], 0
je 0x10064bf2
cmp dword [ebx + 0xf0], 0
jne 0x10064b63
cmp dword [ebx + 0xf4], 0
jne 0x10064b63
xor eax, eax
jmp 0x10064b68
mov eax, 1
test eax, eax
je 0x10064bf2
mov eax, dword [ebx + 0xf8]
mov ecx, dword [ebx + 0xfc]
mov dword [esp + 0xf0], ecx
mov ecx, dword [ebx + 0xf4]
mov dword [esp + 0xec], eax
mov eax, dword [ebx + 0xf0]
mov dword [esp + 0xf8], ecx
mov ecx, dword [ebx + 0xec]
mov dword [esp + 0xf4], eax
mov eax, dword [ebx + 0xe8]
push 0
mov dword [esp + 0x104], ecx
lea ecx, [esp + 0xe4]
mov dword [esp + 0x100], eax
mov eax, dword [edi]
push 0x24
push ecx
mov ecx, edi
mov dword [esp + 0xf0], 0
mov dword [esp + 0xec], 0x20000a
mov dword [esp + 0xf4], 0x180001
call dword [eax + 0x18]
cmp dword [ebp + 0x84], 0
je 0x10064c20
cmp dword [ebx + 0x19], 0
je 0x10064c20
mov edx, dword [edi]
lea eax, [ebx + 0x10]
push 0
push 9
push eax
mov ecx, edi
call dword [edx + 0x18]
mov eax, dword [ebx + 0x19]
mov ecx, edi
mov esi, dword [edi]
cdq
push edx
push eax
push dword [ebx + 0x1d]
call dword [esi + 0x18]
cmp dword [ebx + 0x68], 0
jne 0x10064c45
cmp dword [ebp + 0x88], 0
je 0x10064c45
cmp word [ebx + 0x31], 0
lea ecx, [ebx + 0x31]
je 0x10064c45
mov eax, dword [edi]
push 0
push 0xc
push ecx
mov ecx, edi
call dword [eax + 0x18]
mov eax, dword [ebx + 0x78]
cmp eax, 2
je 0x10064c57
cmp eax, 3
je 0x10064c57
cmp eax, 4
jne 0x10064cd5
mov ecx, dword [ebx + 0x114]
mov dword [esp + 0xb4], 0x79901
mov dword [esp + 0xb8], 0x45410002
cmp eax, 2
jne 0x10064c82
mov byte [esp + 0xbc], 1
jmp 0x10064ca2
cmp eax, 3
jne 0x10064c91
mov byte [esp + 0xbc], 2
jmp 0x10064ca2
cmp eax, 4
setne al
dec al
and al, 3
mov byte [esp + 0xbc], al
mov eax, dword [edi]
push 0
mov word [esp + 0xc1], cx
lea ecx, [esp + 0xb8]
push 0xb
push ecx
mov ecx, edi
call dword [eax + 0x18]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x34]
test eax, eax
je 0x10064cf7
mov esi, dword [edi]
mov ecx, edi
cdq
push edx
push eax
push dword [esp + 0x28]
call dword [esi + 0x18]
push dword [esp + 0x20]
call fcn.10154f5a
add esp, 4
cmp dword [esp + 0x54], 0
je 0x10064d29
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x50]
call eax
cmp dword [ebp + 0x444], 0
mov esi, dword [esp + 0x14]
je 0x10064d2d
cmp dword [esi + 4], edx
jl 0x10065029
jg 0x10064d2d
cmp dword [esi], eax
jb 0x10065029
jmp 0x10064d2d
mov esi, dword [esp + 0x14]
cmp dword [esp + 0x50], 0
jne 0x10064db1
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x50]
call eax
cmp dword [ebp + 0x444], 0
je 0x10064d61
cmp dword [esi + 4], edx
jg 0x10064d58
jl 0x10064d51
cmp dword [esi], eax
jae 0x10064d58
mov ecx, ebp
call fcn.1001e800
cmp dword [ebp + 0x444], 0
jne 0x10064d6b
mov dword [esp + 0x24], 0
jmp 0x10064d83
mov ecx, dword [ebp + 0x450]
mov eax, dword [esi]
or eax, dword [esi + 4]
lea edx, [ecx - 1]
mov dword [esp + 0x24], edx
jne 0x10064d83
mov dword [esp + 0x24], ecx
mov ecx, dword [ebp + 0x424]
test ecx, ecx
je 0x10064d98
call fcn.1005f8f0
mov dword [esp + 0x40], edx
jmp 0x10064dad
xorps xmm0, xmm0
movlpd qword [esp + 0x28], xmm0
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x30], eax
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x50]
call eax
add dword [esp + 0x44], eax
mov ecx, edi
mov eax, dword [edi]
push 0
push 1
push 0
mov eax, dword [eax + 0x50]
call eax
push eax
push dword [ebp + 0x204]
mov ecx, ebp
push dword [esp + 0x124]
call fcn.1001f6d0
test eax, eax
je 0x10064e51
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x50]
mov eax, edi
inc ebx
mov dword [esp + 0x50], ebx
cmp ebx, ecx
jl 0x10064530
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x28], esi
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], edi
mov edi, eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x30], esi
mov dword [esp + 0x44], ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x3c], edi
test eax, eax
jne 0x10064e73
cmp dword [esp + 0x48], eax
je 0x10064e73
push eax
push eax
push 0xa0000415
jmp 0x100651d1
push 0
push dword [ebx + 4]
push 0xa0000030
jmp 0x100651d1
push 0
push dword [ebx + 4]
push 0xa0000047
jmp 0x100651d1
mov esi, dword [esp + 0x30]
cmp dword [ebp + 0xf4], 0
je 0x1006506c
test edi, edi
je 0x1006506c
mov ecx, dword [ebp + 0x424]
mov dword [ebp + 0x210], 0
mov dword [ebp + 0x214], 0
test ecx, ecx
je 0x10064eb3
call fcn.1005f8f0
mov ebx, eax
mov dword [esp + 0x38], edx
jmp 0x10064ec8
xorps xmm0, xmm0
movlpd qword [esp + 0x28], xmm0
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x38], eax
mov edx, dword [ebp + 0x444]
test edx, edx
jne 0x10064ed6
xor edi, edi
jmp 0x10064eef
mov ecx, dword [ebp + 0x450]
mov eax, dword [ebp + 0x448]
or eax, dword [ebp + 0x44c]
lea edi, [ecx - 1]
jne 0x10064eef
mov edi, ecx
lea ecx, [esp + 0x7c]
call fcn.10022db0
mov al, byte [ebp + 0xc4]
mov byte [esp + 0x89], al
test edx, edx
jne 0x10064f0d
xor ecx, ecx
jmp 0x10064f26
mov edx, dword [ebp + 0x450]
mov eax, dword [ebp + 0x448]
or eax, dword [ebp + 0x44c]
lea ecx, [edx - 1]
jne 0x10064f26
mov ecx, edx
mov eax, dword [esp + 0x24]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x3c]
cdq
mov dword [esp + 0x94], eax
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x98], edx
mov dword [esp + 0xa0], edx
cdq
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xac], esi
lea esi, [ebp + 0x1f8]
push 0
mov dword [esp + 0x90], ecx
lea ecx, [esp + 0x80]
mov dword [esp + 0xb4], eax
mov eax, dword [esi]
push 0x38
push ecx
mov ecx, esi
mov dword [esp + 0xb4], edx
call dword [eax + 0x18]
cmp dword [ebp + 0x444], 0
mov eax, dword [esp + 0x38]
mov dword [esp + 0xb4], 0x7064b50
mov dword [esp + 0xb8], edi
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], eax
jne 0x10064fc8
xor ecx, ecx
jmp 0x10064fe1
mov edx, dword [ebp + 0x450]
mov eax, dword [ebp + 0x448]
or eax, dword [ebp + 0x44c]
lea ecx, [edx - 1]
jne 0x10064fe1
mov ecx, edx
lea eax, [ecx + 1]
push 0
mov dword [esp + 0xc8], eax
lea ecx, [esp + 0xb8]
mov eax, dword [esi]
push 0x14
push ecx
mov ecx, esi
call dword [eax + 0x18]
cmp dword [esp + 0x54], 0
je 0x10065038
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x50]
call eax
cmp dword [ebp + 0x444], 0
je 0x10065038
cmp dword [ebp + 0x44c], edx
jg 0x10065038
jl 0x10065029
cmp dword [ebp + 0x448], eax
jae 0x10065038
mov eax, dword [esp + 0x58]
mov dword [eax], 1
jmp 0x100651d9
mov eax, dword [ebp + 0x1f8]
lea ecx, [ebp + 0x1f8]
push 0
push 1
push 0
mov eax, dword [eax + 0x50]
call eax
push eax
push dword [ebp + 0x204]
mov ecx, ebp
push dword [esp + 0x124]
call fcn.1001f6d0
test eax, eax
je 0x100651b8
mov edi, dword [ebp + 0x410]
mov dword [esp + 0xc8], 0x6054b50
test edi, edi
je 0x1006508f
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x10065084
sub edi, ecx
jmp 0x10065091
xor edi, edi
cmp dword [ebp + 0x444], 0
jne 0x1006510e
xor eax, eax
mov word [esp + 0xcc], ax
mov edx, 0xffff
mov ecx, dword [esp + 0x24]
cmp ecx, 0xffff
movzx eax, cx
mov ecx, dword [esp + 0x3c]
cmovg eax, edx
mov word [esp + 0xce], ax
cmp ecx, 0xffff
movzx eax, cx
cmovg eax, edx
cmp dword [esp + 0x40], 0
movzx eax, ax
mov word [esp + 0xd0], ax
mov word [esp + 0xd2], ax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xd4], eax
jl 0x1006512e
jg 0x10065101
mov eax, dword [esp + 0x30]
cmp eax, 0xffffffff
jbe 0x10065132
mov dword [esp + 0xd8], 0xffffffff
jmp 0x10065139
mov eax, dword [ebp + 0x450]
dec eax
cmp eax, 0xffff
jle 0x1006509c
mov edx, 0xffff
mov word [esp + 0xcc], dx
jmp 0x100650a9
mov eax, dword [esp + 0x30]
mov dword [esp + 0xd8], eax
mov word [esp + 0xdc], di
push 0
test ecx, ecx
je 0x100651ca
mov edx, dword [ebp + 0x1f8]
lea ebx, [ebp + 0x1f8]
push 0x16
lea eax, [esp + 0xd0]
mov dword [ebp + 0x210], 0
push eax
mov ecx, ebx
mov dword [ebp + 0x214], 0
call dword [edx + 0x18]
test edi, edi
je 0x10065190
mov esi, dword [ebx]
mov eax, edi
cdq
mov ecx, ebx
push edx
push eax
push dword [ebp + 0x410]
call dword [esi + 0x18]
mov eax, dword [ebx]
mov ecx, ebx
push 1
push 1
push 0
mov eax, dword [eax + 0x50]
call eax
push eax
push dword [ebp + 0x204]
mov ecx, ebp
push dword [esp + 0x124]
call fcn.1001f6d0
test eax, eax
jne 0x100651c3
push 0
push 0
push 0xa0000030
jmp 0x100651d1
mov eax, 1
jmp 0x100651db
push 0
push 0xa0000410
lea ecx, [ebp + 8]
call fcn.1001f180
xor eax, eax
mov ecx, dword [esp + 0x104]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10151433
add esp, 0xfc
ret 8