Function at 0x68757c
Capabilities:
Resolve function by parsing pe exports
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x368
mov eax, dword [0x43a400]
xor eax, esp
mov dword [esp + 0x364], eax
mov eax, edx
mov dword [esp + 0x78], ecx
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x154], edx
mov edx, dword [ebp + 0x18]
mov dword [esp + 0x144], edx
mov edx, dword [ebp + 0x1c]
mov dword [esp + 0x128], edx
mov edx, dword [ebp + 0x20]
mov ecx, dword [ebp + 8]
mov dword [esp + 0xe8], edx
mov edx, dword [ebp + 0x24]
mov dword [esp + 0x150], edx
mov edx, dword [ebp + 0x28]
mov dword [esp + 0x130], edx
mov edx, dword [ebp + 0x2c]
mov dword [esp + 0x148], edx
mov edx, dword [ebp + 0x30]
mov dword [esp + 0x138], edx
mov edx, dword [ebp + 0x40]
mov dword [esp + 0x13c], edx
mov edx, dword [ebp + 0x44]
mov dword [esp + 0x120], edx
mov edx, dword [ebp + 0x48]
mov dword [esp + 0xd8], edx
mov edx, dword [ebp + 0x4c]
mov dword [esp + 0x124], edx
mov edx, dword [ebp + 0x50]
mov dword [esp + 0x12c], edx
mov edx, dword [ebp + 0x58]
mov dword [esp + 0xec], edx
mov edx, dword [ebp + 0x5c]
mov dword [esp + 0xdc], eax
mov dword [esp], ecx
mov dword [esp + 0xe0], edx
push esi
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x144], esi
push edi
test eax, eax
je 0x687667
cmp word [eax + 8], 0
jbe 0x687667
cmp byte [eax + 0xa], 0x2f
mov dword [esp + 0xc4], 1
je 0x687672
mov dword [esp + 0xc4], 0
xor edx, edx
mov dword [esp + 0x38], 0x200
mov dword [esp + 0x3c], edx
lea eax, [esp + 0x168]
or edx, 0xffffffff
mov dword [esp + 0x28], eax
mov dword [esp + 0xdc], edx
or eax, 0xffffffff
or edx, edx
mov dword [esp + 0xbc], eax
mov dword [esp + 0xf8], edx
or eax, eax
or edx, 0xffffffff
mov dword [esp + 0xc0], eax
xor edi, edi
mov dword [esp + 0xec], edx
or eax, 0xffffffff
mov dword [esp + 0xc], edi
or edx, edx
mov dword [esp + 0x7c], eax
mov dword [esp + 0xfc], edx
mov dword [esp + 0xd0], edi
mov dword [esp + 0x60], eax
mov dword [esp + 0x74], edi
mov dword [esp + 0x88], edi
test esi, esi
je 0x6876fb
mov eax, dword [esi + 4]
cmp dword [eax + 0x20], edi
jne 0x6876fb
xor eax, eax
mov dword [esp + 0x48], eax
jmp 0x687703
mov dword [esp + 0x48], 1
movdqa xmm0, xmmword [fcn.00438420]
xor eax, eax
mov edx, dword [ebp + 0xc]
xor edi, edi
mov dword [esp + 0x50], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0xc8], eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x24]
mov dword [esp + 0xdc], 0xffffffff
push eax
lea eax, [esp + 0x70]
mov dword [esp + 0xd4], 0xffffffff
push eax
lea eax, [esp + 0x58]
mov dword [esp + 0xc4], 0xffffffff
push eax
mov dword [esp + 0xe4], 0xffffffff
mov dword [esp + 0x34], edi
mov dword [esp + 0x110], 0xffffffff
mov dword [esp + 0x114], 0xffffffff
mov dword [esp + 0x118], 0xffffffff
mov dword [esp + 0x11c], 0xffffffff
mov dword [esp + 0x120], 0xffffffff
mov dword [esp + 0x124], 0xffffffff
movdqa xmmword [esp + 0xa0], xmm0
mov dword [esp + 0xb0], 0xffffffff
call fcn.0068704c
mov esi, eax
add esp, 0x10
mov dword [esp + 0x54], esi
test esi, esi
js 0x6879cf
mov edi, dword [esp + 8]
jmp 0x6877ec
mov eax, dword [esp + 0x4c]
cmp eax, 0xffffffff
je 0x687a65
test eax, eax
js 0x68799d
mov edx, dword [esp + 0x68]
lea ecx, [edi + eax]
sub edx, eax
call fcn.006790dc
mov dword [esp + 0xc], eax
cmp eax, dword [0x443d08]
jne 0x687968
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x44]
mov ecx, edi
push eax
push 0
push 0
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x44]
push eax
call fcn.00686a4c
add esp, 0x14
mov dword [esp + 0x58], eax
test eax, eax
js 0x687a16
mov esi, dword [esp + 0x40]
mov ecx, 0x43eb44
sub esi, dword [esp + 0x34]
add edi, dword [esp + 0x34]
push esi
mov edx, edi
call fcn.0069780c
add esp, 4
test eax, eax
jne 0x687875
mov dword [esp + 0x48], eax
jmp 0x687954
push esi
mov edx, edi
mov ecx, 0x43eb4c
call fcn.0069780c
add esp, 4
test eax, eax
jne 0x687896
mov dword [esp + 0x48], 1
jmp 0x687954
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x6878c8
push 0xc
call fcn.00698280
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
je 0x687a00
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov edx, esi
mov ecx, edi
call fcn.006790dc
mov edx, dword [esp + 0x24]
mov edi, eax
cmp dword [edx + 8], 0
jne 0x68790a
push 0x14
call fcn.00698280
mov edx, dword [esp + 0x28]
add esp, 4
mov dword [edx + 8], eax
test eax, eax
jne 0x687903
push 0x43b378
push 1
call fcn.00678ebc
add esp, 8
jmp 0x687954
mov dword [edx + 4], 5
mov eax, dword [edx]
cmp dword [edx + 4], eax
jg 0x68794a
lea esi, [eax*2 + 1]
lea eax, [esi*4]
push eax
push dword [edx + 8]
call fcn.006983d6
add esp, 8
test eax, eax
jne 0x687940
push 0x43b394
push 1
call fcn.00678ebc
add esp, 8
jmp 0x687954
mov edx, dword [esp + 0x24]
mov dword [edx + 8], eax
mov dword [edx + 4], esi
mov ecx, dword [edx]
mov eax, dword [edx + 8]
mov dword [eax + ecx*4], edi
inc dword [edx]
cmp dword [esp + 0x44], 0
mov edi, dword [esp + 8]
jne 0x687986
mov edx, dword [esp + 0x58]
jmp 0x687823
mov ecx, dword [esp + 0xc8]
mov edx, 1
cmp eax, dword [0x443ce4]
cmove ecx, edx
mov dword [esp + 0xc8], ecx
jmp 0x68798e
mov esi, dword [esp + 0x54]
mov eax, dword [esp + 0xc]
mov ecx, eax
call fcn.006791cc
mov dword [esp + 0xc], 0
lea eax, [esp + 0x2c]
mov edx, esi
push eax
lea eax, [esp + 0x24]
mov ecx, edi
push eax
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x58]
push eax
call fcn.0068704c
mov esi, eax
mov dword [esp + 0x64], eax
add esp, 0x10
test esi, esi
jns 0x6877ec
mov edi, dword [esp + 0x24]
push 0x43eb00
push 1
call fcn.00678ebc
add esp, 8
test edi, edi
je 0x6879e9
mov ecx, edi
call fcn.0067949c
or eax, 0xffffffff
pop edi
pop esi
mov ecx, dword [esp + 0x364]
xor ecx, esp
call fcn.006981f9
mov esp, ebp
pop ebp
ret
push 0x43eb58
push 1
xor edi, edi
call fcn.00678ebc
add esp, 8
jmp 0x688578
push 0x43eb24
push 1
call fcn.00678ebc
add esp, 8
test byte [0x43fedc], 1
je 0x687a51
mov eax, dword [0x443d10]
test eax, eax
je 0x687a51
mov ecx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x30]
sub eax, ecx
push 1
push eax
lea eax, [edi + ecx]
push eax
call fcn.00699860
add esp, 0x10
push 0x43eb40
push 1
call fcn.00678ebc
add esp, 8
jmp 0x688574
mov esi, dword [esp + 8]
lea eax, [esp + 0x2c]
mov edx, dword [ebp + 0xc]
mov ecx, esi
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x58]
push eax
call fcn.0068704c
add esp, 0x10
mov dword [esp + 0x58], eax
test eax, eax
js 0x688549
mov edi, dword [esp + 0x90]
mov dword [esp + 0x10], edi
jmp 0x687aac
mov eax, dword [esp + 0x4c]
cmp eax, 0xffffffff
je 0x688ccc
test eax, eax
jns 0x687ade
push 0x43eb9c
push 2
call fcn.00678ebc
add esp, 8
cmp dword [0x43f03c], 0
je 0x688558
jmp 0x688519
mov edx, dword [esp + 0x68]
lea ecx, [esi + eax]
sub edx, eax
mov dword [esp + 0x64], ecx
call fcn.006790dc
mov ecx, eax
mov dword [esp + 0xc], ecx
cmp ecx, dword [0x443ccc]
jne 0x687c10
mov esi, dword [esp + 0x20]
lea eax, [esp + 0x44]
mov edi, dword [esp + 8]
mov edx, esi
push eax
push 0
push 0
lea eax, [esp + 0x4c]
mov ecx, edi
push eax
lea eax, [esp + 0x44]
push eax
call fcn.00686a4c
add esp, 0x14
mov dword [esp + 0x30], eax
test eax, eax
js 0x687bc0
lea esp, [esp]
mov esi, dword [esp + 0x40]
mov ecx, 0x43ebe4
sub esi, dword [esp + 0x34]
add edi, dword [esp + 0x34]
push esi
mov edx, edi
call fcn.0069780c
add esp, 4
test eax, eax
jne 0x687b62
mov dword [esp + 0x48], eax
jmp 0x687b84
push esi
mov edx, edi
mov ecx, 0x43ebec
call fcn.0069780c
mov ecx, dword [esp + 0x4c]
add esp, 4
test eax, eax
mov eax, 1
cmove ecx, eax
mov dword [esp + 0x48], ecx
cmp dword [esp + 0x44], 0
jne 0x6884fe
mov edi, dword [esp + 8]
lea eax, [esp + 0x44]
mov edx, dword [esp + 0x30]
mov ecx, edi
push eax
push 0
push 0
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x44]
push eax
call fcn.00686a4c
add esp, 0x14
mov dword [esp + 0x30], eax
test eax, eax
jns 0x687b3c
mov esi, dword [esp + 0x20]
push 0x43ebbc
push 2
call fcn.00678ebc
add esp, 8
test byte [0x43fedc], 2
je 0x687bf7
mov eax, dword [0x443d10]
test eax, eax
je 0x687bf7
push eax
mov eax, dword [esp + 0x30]
sub eax, esi
push 1
push eax
lea eax, [edi + esi]
push eax
call fcn.00699860
add esp, 0x10
push 0x43ebe0
push 2
call fcn.00678ebc
mov dword [esp + 0x50], 0
jmp 0x6884fb
cmp ecx, dword [0x443ca0]
jne 0x687d0a
mov esi, dword [esp + 0x20]
mov edx, esi
mov edi, dword [esp + 8]
mov ecx, edi
call fcn.006867cc
test eax, eax
jns 0x687c85
push 0x43ebf8
push 2
call fcn.00678ebc
add esp, 8
test byte [0x43fedc], 2
je 0x687c68
mov eax, dword [0x443d10]
test eax, eax
je 0x687c68
push eax
mov eax, dword [esp + 0x30]
sub eax, esi
push 1
push eax
lea eax, [edi + esi]
push eax
call fcn.00699860
add esp, 0x10
push 0x43ec1c
push 2
call fcn.00678ebc
add esp, 8
mov esi, edi
or eax, 0xffffffff
mov dword [esp + 0x7c], eax
jmp 0x688502
call fcn.00698a21
push 0xa
add edi, esi
mov dword [eax], 0
lea eax, [esp + 0x60]
push eax
push edi
call fcn.0069949b
add esp, 0xc
mov dword [esp + 0x7c], eax
call fcn.00698a21
cmp dword [eax], 0x22
je 0x687cba
cmp dword [esp + 0x5c], edi
ja 0x6884fe
push 0x43ec20
push 2
call fcn.00678ebc
add esp, 8
test byte [0x43fedc], 2
je 0x687cee
mov eax, dword [0x443d10]
test eax, eax
je 0x687cee
push eax
mov eax, dword [esp + 0x30]
push 1
sub eax, esi
push eax
push edi
call fcn.00699860
add esp, 0x10
push 0x43ec44
push 2
call fcn.00678ebc
mov dword [esp + 0x84], 0xffffffff
jmp 0x6884fb
cmp dword [esp + 0xc4], 0
mov esi, dword [0x443cc4]
jne 0x687de9
cmp ecx, dword [0x443cd8]
je 0x687df1
cmp ecx, dword [0x443c88]
jne 0x687f33
mov eax, dword [0x443bac]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x30], edi
test eax, eax
je 0x687d8d
cmp eax, 1
jne 0x6884fe
cmp dword [esp + 0xe4], 0
mov esi, dword [esp + 8]
je 0x688502
mov ecx, dword [esp + 0x20]
mov eax, edi
sub eax, ecx
push eax
lea eax, [esi + ecx]
push eax
mov eax, dword [esp + 0xec]
movzx edx, word [eax + 8]
lea ecx, [eax + 0xa]
call fcn.0068741c
add esp, 8
test eax, eax
je 0x688502
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
lea eax, [ecx - 2]
cmp esi, eax
jle 0x687e68
mov edx, dword [esp + 0x28]
jmp 0x687dac
lea edi, [ecx + ecx]
cmp edi, ecx
jle 0x688c3c
lea eax, [esp + 0x168]
push edi
cmp edx, eax
jne 0x687e2e
call fcn.00698280
mov esi, eax
add esp, 4
test esi, esi
je 0x688c3c
push dword [esp + 0x38]
mov eax, dword [esp + 0x2c]
push eax
push esi
call fcn.0069fa9c
add esp, 0xc
jmp 0x687e41
cmp ecx, esi
jne 0x687d2a
cmp dword [esp + 0xe8], 0
je 0x6884fe
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
sub edx, eax
js 0x688c2c
mov esi, dword [esp + 8]
lea ecx, [esi + eax]
call fcn.00678f0c
mov edi, eax
mov dword [esp + 0x6c], edi
test edi, edi
je 0x688c32
jmp 0x688502
push edx
call fcn.006983d6
mov esi, eax
add esp, 8
test esi, esi
je 0x688c3c
mov ecx, edi
mov edx, esi
mov dword [esp + 0x38], ecx
mov dword [esp + 0x28], edx
test esi, esi
je 0x688574
mov esi, dword [esp + 0x3c]
lea eax, [edi - 2]
cmp esi, eax
jg 0x687dac
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x28]
mov word [esi + eax], 0xa0d
add esi, 2
sub edi, dword [esp + 0x4c]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x30], edi
xor ecx, ecx
mov edx, esi
test esi, esi
js 0x687ec0
test edi, edi
jle 0x687ea9
add esi, eax
cmp edx, dword [esp + 0x38]
jge 0x687ebc
mov eax, dword [esp + 0x64]
inc edx
mov al, byte [ecx + eax]
mov byte [esi + ecx], al
inc ecx
cmp ecx, edi
jl 0x687e8f
mov eax, dword [esp + 0x28]
cmp edx, dword [esp + 0x38]
jge 0x687ec0
test edx, edx
js 0x687ec0
mov dword [esp + 0x3c], edx
jmp 0x6884fe
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x38]
lea edi, [edx + edx]
cmp edi, edx
jle 0x688c3c
lea ecx, [esp + 0x168]
push edi
cmp eax, ecx
jne 0x687f01
call fcn.00698280
mov esi, eax
add esp, 4
test esi, esi
je 0x688c3c
push dword [esp + 0x38]
mov eax, dword [esp + 0x2c]
push eax
push esi
call fcn.0069fa9c
add esp, 0xc
jmp 0x687f14
push eax
call fcn.006983d6
mov esi, eax
add esp, 8
test esi, esi
je 0x688c3c
mov dword [esp + 0x38], edi
mov eax, esi
mov dword [esp + 0x28], eax
test esi, esi
je 0x688574
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x3c]
jmp 0x687e81
cmp ecx, dword [0x443c9c]
je 0x688cc2
cmp ecx, dword [0x443c90]
je 0x688cc2
cmp ecx, dword [0x443c7c]
je 0x688aaa
cmp ecx, dword [0x443c74]
je 0x688aaa
cmp ecx, dword [0x443ca4]
je 0x688aaa
cmp ecx, dword [0x443c98]
je 0x688aaa
cmp ecx, dword [0x443cfc]
je 0x688aaa
cmp ecx, dword [0x443cf8]
je 0x688aaa
cmp ecx, dword [0x443ce8]
je 0x688aaa
cmp ecx, dword [0x443cb0]
jne 0x688059
mov edi, dword [esp + 0x20]
mov edx, edi
mov esi, dword [esp + 8]
mov ecx, esi
call fcn.006867cc
test eax, eax
js 0x688006
call fcn.00698a21
push 0xa
add esi, edi
mov dword [eax], 0
lea eax, [esp + 0x60]
push eax
push esi
call fcn.0069949b
add esp, 0xc
mov dword [esp + 0x60], eax
call fcn.00698a21
cmp dword [eax], 0x22
je 0x688002
cmp dword [esp + 0x5c], esi
jbe 0x688002
cmp dword [esp + 0x60], 0
mov esi, dword [esp + 8]
jge 0x688502
jmp 0x68800e
mov esi, dword [esp + 8]
mov dword [esp + 0x60], 0xffffffff
push 0x43eca4
push 2
call fcn.00678ebc
add esp, 8
test byte [0x43fedc], 2
je 0x688045
mov eax, dword [0x443d10]
test eax, eax
je 0x688045
push eax
mov eax, dword [esp + 0x30]
sub eax, edi
push 1
push eax
lea eax, [esi + edi]
push eax
call fcn.00699860
add esp, 0x10
push 0x43ecbc
push 2
call fcn.00678ebc
add esp, 8
jmp 0x688502
cmp ecx, dword [0x443cc8]
jne 0x6880b6
mov esi, dword [esp + 0x20]
mov edx, esi
mov edi, dword [esp + 8]
mov ecx, edi
call fcn.006867cc
test eax, eax
js 0x688c4f
call fcn.00698a21
push 0xa
add esi, edi
mov dword [eax], 0
lea eax, [esp + 0x60]
push eax
push esi
call fcn.0069949b
add esp, 0xc
call fcn.00698a21
cmp dword [eax], 0x22
je 0x688c45
cmp dword [esp + 0x5c], esi
jbe 0x688c45
mov esi, edi
jmp 0x688502
cmp ecx, dword [0x443cb4]
jne 0x688114
mov esi, dword [esp + 0x2c]
mov ecx, 0x43ed0c
mov edi, dword [esp + 8]
sub esi, dword [esp + 0x20]
add edi, dword [esp + 0x20]
push esi
mov edx, edi
call fcn.0069780c
add esp, 4
test eax, eax
jne 0x6880f0
xor edi, edi
mov dword [esp + 0xd0], edi
jmp 0x6884fe
push esi
mov edx, edi
mov ecx, 0x43ed18
call fcn.0069780c
add esp, 4
neg eax
sbb eax, eax
and eax, 0xfffffffe
inc eax
mov dword [esp + 0xd0], eax
jmp 0x6884fe
cmp ecx, dword [0x443c78]
je 0x6889ab
cmp ecx, dword [0x443ce0]
je 0x6889ab
cmp ecx, dword [0x443cac]
je 0x6889ab
cmp ecx, dword [0x443cd4]
je 0x6889ab
cmp ecx, dword [0x443ce4]
jne 0x68843e
mov esi, dword [esp + 8]
lea eax, [esp + 0x44]
mov edx, dword [esp + 0x20]
mov ecx, esi
push eax
lea eax, [esp + 0x90]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x44]
push eax
call fcn.00686a4c
add esp, 0x14
mov dword [esp + 0x64], eax
test eax, eax
js 0x68841c
mov edi, edi
mov eax, dword [esp + 0x40]
mov ecx, 0x43ed80
mov edi, dword [esp + 8]
mov esi, eax
sub esi, dword [esp + 0x34]
add edi, dword [esp + 0x34]
push esi
mov edx, edi
mov dword [esp + 0x34], eax
call fcn.0069780c
add esp, 4
test eax, eax
jne 0x6881c2
mov edi, dword [esp + 0x10]
or edi, 2
jmp 0x6883cc
push esi
mov edx, edi
mov ecx, 0x43ed8c
call fcn.0069780c
add esp, 4
test eax, eax
jne 0x6881e2
mov edi, dword [esp + 0x10]
or edi, 4
jmp 0x6883cc
push esi
mov edx, edi
mov ecx, 0x43ed94
call fcn.0069780c
add esp, 4
test eax, eax
jne 0x688202
mov edi, dword [esp + 0x10]
or edi, 8
jmp 0x6883cc
push esi
mov edx, edi
mov ecx, 0x43ed9c
call fcn.0069780c
add esp, 4
test eax, eax
jne 0x688222
mov edi, dword [esp + 0x10]
or edi, 0x10
jmp 0x6883cc
push esi
mov edx, edi
mov ecx, 0x43eda8
call fcn.0069780c
add esp, 4
test eax, eax
jne 0x688242
mov edi, dword [esp + 0x10]
or edi, 0x20
jmp 0x6883cc
push esi
mov edx, edi
mov ecx, 0x43edc0
call fcn.0069780c
add esp, 4
test eax, eax
je 0x6883c5
push esi
mov edx, edi
mov ecx, 0x43edd0
call fcn.0069780c
add esp, 4
test eax, eax
je 0x6883c5
push esi
mov edx, edi
mov ecx, 0x43ede0
call fcn.0069780c
add esp, 4
test eax, eax
jne 0x688295
mov edi, dword [esp + 0x10]
or edi, 0x80
jmp 0x6883cc
push esi
mov edx, edi
mov ecx, 0x43edf4
call fcn.0069780c
add esp, 4
test eax, eax
jne 0x6882b8
mov edi, dword [esp + 0x10]
or edi, 0x100
jmp 0x6883cc
push esi
mov edx, edi
mov ecx, 0x43edb8
call fcn.0069780c
add esp, 4
test eax, eax
je 0x6883b9
push esi
mov edx, edi
mov ecx, 0x43ee04
call fcn.0069780c
add esp, 4
test eax, eax
je 0x6883b9
push esi
mov edx, edi
mov ecx, 0x43ee0c
call fcn.0069780c
add esp, 4
test eax, eax
je 0x6883b9
push esi
mov edx, edi
mov ecx, 0x43ee18
call fcn.0069780c
add esp, 4
test eax, eax
je 0x6883b9
push esi
mov edx, edi
mov ecx, 0x43ee24
call fcn.0069780c
add esp, 4
test eax, eax
jne 0x68835e
lea eax, [esp + 0xa0]
mov esi, dword [esp + 8]
mov ecx, esi
mov edx, dword [esp + 0x34]
push eax
push dword [esp + 0x90]
push dword [esp + 0x5c]
push dword [esp + 0x3c]
call fcn.0068738c
mov edi, dword [esp + 0xa0]
add esp, 0x10
jmp 0x6883d7
push 0x43ee30
push 2
call fcn.00678ebc
add esp, 8
test byte [0x43fedc], 2
je 0x6883a0
mov eax, dword [0x443d10]
test eax, eax
je 0x6883a0
mov ecx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x90]
test eax, eax
push 1
cmovns ecx, eax
sub ecx, dword [esp + 0x3c]
push ecx
push edi
call fcn.00699860
add esp, 0x10
push 0x43ee58
push 2
call fcn.00678ebc
mov edi, dword [esp + 0x18]
add esp, 8
mov esi, dword [esp + 8]
jmp 0x6883db
lea eax, [esp + 0x94]
jmp 0x688333
mov edi, dword [esp + 0x10]
or edi, 0x40
mov esi, dword [esp + 8]
mov dword [esp + 0x90], edi
mov dword [esp + 0x10], edi
cmp dword [esp + 0x44], 0
jne 0x688502
mov edx, dword [esp + 0x64]
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x90]
mov ecx, esi
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x44]
push eax
call fcn.00686a4c
add esp, 0x14
mov dword [esp + 0x64], eax
test eax, eax
jns 0x68818c
push 0x43ed60
push 2
call fcn.00678ebc
add esp, 8
or edi, 2
mov dword [esp + 0x10], edi
mov dword [esp + 0x90], edi
jmp 0x688502
cmp ecx, dword [0x443cbc]
jne 0x68848c
cmp dword [esp + 0x80], 0
jne 0x688c9a
mov esi, dword [esp + 0x20]
lea eax, [esp + 0x114]
mov edi, dword [esp + 8]
mov edx, esi
push eax
lea eax, [esp + 0x114]
mov ecx, edi
push eax
lea eax, [esp + 0x114]
push eax
call fcn.006871bc
add esp, 0xc
test eax, eax
js 0x688c59
mov esi, edi
jmp 0x688502
cmp ecx, dword [0x443cec]
jne 0x6885d1
cmp dword [esp + 0x80], 0
je 0x6884ef
mov esi, dword [esp + 8]
lea eax, [esp + 0x104]
mov edx, dword [esp + 0x20]
mov ecx, esi
push eax
lea eax, [esp + 0x104]
push eax
call fcn.006872cc
add esp, 8
test eax, eax
jns 0x688502
push 0x43eea8
push 2
call fcn.00678ebc
add esp, 8
mov dword [esp + 0x100], 0xffffffff
mov dword [esp + 0x104], 0xffffffff
jmp 0x688502
push 0x43eecc
push 2
call fcn.00678ebc
add esp, 8
mov esi, dword [esp + 8]
mov edi, dword [esp + 0xc]
mov ecx, edi
call fcn.006791cc
mov edi, dword [esp + 0x10]
mov dword [esp + 0xc], 0
mov edx, dword [esp + 0x58]
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x24]
mov ecx, esi
push eax
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x58]
push eax
call fcn.0068704c
mov ecx, eax
add esp, 0x10
mov dword [esp + 0x58], ecx
test ecx, ecx
jns 0x687aac
push 0x43eb78
push 1
call fcn.00678ebc
add esp, 8
mov eax, dword [esp + 0x28]
test eax, eax
je 0x688574
lea ecx, [esp + 0x168]
cmp eax, ecx
je 0x688574
push eax
call fcn.00698208
add esp, 4
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0xc]
test eax, eax
je 0x688587
mov ecx, eax
call fcn.006791cc
mov eax, dword [esp + 0x74]
test eax, eax
je 0x688598
push eax
call fcn.00698208
add esp, 4
mov eax, dword [esp + 0x50]
test eax, eax
je 0x6885a7
mov ecx, eax
call fcn.006791cc
mov eax, dword [esp + 0x84]
test eax, eax
je 0x6885b9
mov ecx, eax
call fcn.006791cc
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x6879de
mov ecx, eax
call fcn.006791cc
jmp 0x6879de
cmp ecx, dword [0x443d0c]
je 0x6884fe
cmp ecx, dword [0x443c80]
jne 0x688661
cmp dword [esp + 0xf4], 0
je 0x6884fe
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
sub edx, eax
js 0x688cae
mov ecx, dword [esp + 8]
add ecx, eax
call fcn.00678f0c
mov esi, eax
test esi, esi
je 0x688cae
mov eax, dword [esp + 0x50]
test eax, eax
je 0x688658
lea ecx, [esi + 0xa]
push ecx
lea ecx, [eax + 0xa]
push ecx
push 0x43ef24
call fcn.0067925c
add esp, 0xc
mov ecx, esi
mov edi, eax
call fcn.006791cc
test edi, edi
je 0x688ca4
mov ecx, dword [esp + 0x50]
call fcn.006791cc
mov dword [esp + 0x50], edi
jmp 0x6884fe
mov dword [esp + 0x50], esi
jmp 0x6884fe
cmp ecx, dword [0x443c84]
jne 0x6886a6
cmp dword [esp + 0xe0], 0
mov esi, dword [esp + 8]
je 0x688502
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x2c]
sub edx, eax
lea ecx, [esi + eax]
call fcn.006790dc
mov dword [esp + 0x84], eax
test eax, eax
jne 0x688502
push 0x43ef44
jmp 0x68854e
cmp dword [esp + 0x80], 0
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x30], eax
jne 0x6886eb
cmp ecx, dword [0x444e2c]
jne 0x6886eb
mov edx, dword [esp + 8]
sub eax, edi
push eax
mov ecx, 0x43ef60
lea edx, [edx + edi]
call fcn.0069780c
add esp, 4
test eax, eax
je 0x688cb8
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xc]
cmp ecx, dword [0x443cd0]
jne 0x688770
mov esi, eax
mov ecx, 0x43efa8
sub esi, edi
add edi, dword [esp + 8]
push esi
mov edx, edi
call fcn.0069780c
add esp, 4
test eax, eax
je 0x688760
push esi
mov edx, edi
mov ecx, 0x43efb0
call fcn.0069780c
add esp, 4
test eax, eax
je 0x688760
push 0x43efb4
push 0x40
call fcn.00678ebc
add esp, 8
test byte [0x43fedc], 0x40
je 0x688751
mov eax, dword [0x443d10]
test eax, eax
je 0x688751
push eax
push 1
push esi
push edi
call fcn.00699860
add esp, 0x10
push 0x43efcc
push 0x40
call fcn.00678ebc
add esp, 8
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
or edi, 0x200
jmp 0x68877e
mov edi, dword [esp + 0x10]
cmp ecx, esi
jne 0x688789
or edi, 0x400
mov dword [esp + 0x90], edi
mov dword [esp + 0x10], edi
cmp ecx, dword [0x443cf0]
jne 0x68884c
cmp dword [esp + 0xc8], 0
jne 0x68884c
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x44]
mov ecx, dword [esp + 8]
push eax
push 0
push 0
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x44]
push eax
call fcn.00686a4c
mov esi, eax
add esp, 0x14
test esi, esi
js 0x68882b
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x34]
sub ecx, edx
add edx, dword [esp + 8]
push ecx
mov ecx, 0x43efe8
call fcn.0069780c
add esp, 4
test eax, eax
mov eax, 2
cmove edi, eax
cmp dword [esp + 0x44], 0
mov dword [esp + 0x10], edi
mov dword [esp + 0x90], edi
jne 0x688848
mov ecx, dword [esp + 8]
lea eax, [esp + 0x44]
push eax
push 0
push 0
lea eax, [esp + 0x4c]
mov edx, esi
push eax
lea eax, [esp + 0x44]
push eax
call fcn.00686a4c
mov esi, eax
add esp, 0x14
test esi, esi
jns 0x6887cc
push 0x43efd0
push 2
call fcn.00678ebc
add esp, 8
or edi, 2
mov dword [esp + 0x10], edi
mov dword [esp + 0x90], edi
mov ecx, dword [esp + 0xc]
cmp dword [esp + 0x80], 0
jne 0x68887f
cmp ecx, dword [0x443d00]
je 0x68886e
cmp ecx, dword [0x443cb8]
je 0x68886e
cmp ecx, dword [0x443c94]
jne 0x68887f
or edi, 0x800
mov dword [esp + 0x10], edi
mov dword [esp + 0x90], edi
mov esi, dword [esp + 0x28]
test esi, esi
je 0x6884fe
cmp ecx, dword [0x443d08]
je 0x6884fe
cmp ecx, dword [0x443cf4]
je 0x6884fe
cmp ecx, dword [0x443d04]
je 0x6884fe
cmp ecx, dword [0x443cc0]
je 0x6884fe
cmp ecx, dword [0x443ca8]
je 0x6884fe
cmp ecx, dword [0x443cdc]
je 0x6884fe
mov edi, dword [esp + 0x24]
test edi, edi
je 0x6888ea
mov edx, edi
call fcn.0067959c
test eax, eax
jne 0x6884fe
mov edx, dword [0x443c8c]
call fcn.0067959c
test eax, eax
jne 0x6884fe
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
lea eax, [ecx - 2]
cmp edx, eax
jle 0x68893f
lea eax, [esp + 0x168]
mov ecx, esi
push eax
lea edx, [esp + 0x3c]
call fcn.006874ec
mov esi, eax
add esp, 4
mov dword [esp + 0x28], esi
test esi, esi
je 0x688578
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
lea eax, [ecx - 2]
cmp edx, eax
jg 0x68890c
mov eax, dword [esp + 0x30]
mov word [edx + esi], 0xa0d
add edx, 2
sub eax, dword [esp + 0x4c]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x30], eax
lea esp, [esp]
push eax
push dword [esp + 0x68]
push ecx
mov ecx, esi
call fcn.0069774c
add esp, 0xc
test eax, eax
jns 0x6889a2
lea eax, [esp + 0x168]
mov ecx, esi
push eax
lea edx, [esp + 0x3c]
call fcn.006874ec
mov esi, eax
add esp, 4
mov dword [esp + 0x28], esi
test esi, esi
je 0x688578
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
jmp 0x68895c
mov dword [esp + 0x3c], eax
jmp 0x6884fe
mov esi, dword [esp + 0x20]
lea eax, [esp + 0x154]
mov ecx, dword [esp + 8]
mov edx, esi
push eax
lea eax, [esp + 0x140]
push eax
lea eax, [esp + 0x12c]
push eax
call fcn.006869cc
add esp, 0xc
test eax, eax
jns 0x6889f8
mov al, byte [ecx + esi]
cmp al, 0xd
je 0x688c25
cmp al, 0xa
je 0x688c25
push 0x43ed20
push 1
jmp 0x6884f6
cmp dword [esp + 0x154], 0
je 0x688a0c
push 0x43ed38
jmp 0x6884f4
mov eax, dword [esp + 0x124]
mov esi, ecx
mov edx, dword [esp + 0x13c]
sub edx, eax
lea ecx, [esi + eax]
call fcn.006976ac
test eax, eax
je 0x688558
mov edi, dword [esp + 0xc]
cmp edi, dword [0x443c78]
jne 0x688a4a
cmp dword [esp + 0x74], 0
jne 0x688a9c
mov dword [esp + 0x74], eax
jmp 0x688506
cmp edi, dword [0x443ce0]
jne 0x688a62
cmp dword [esp + 0x78], 0
jne 0x688a9c
mov dword [esp + 0x78], eax
jmp 0x688506
cmp edi, dword [0x443cac]
jne 0x688a7a
cmp dword [esp + 0x70], 0
jne 0x688a9c
mov dword [esp + 0x70], eax
jmp 0x688506
cmp edi, dword [0x443cd4]
jne 0x688fa0
cmp dword [esp + 0x88], 0
jne 0x688a9c
mov dword [esp + 0x88], eax
jmp 0x688506
push eax
call fcn.00698208
add esp, 4
jmp 0x688506
mov esi, dword [esp + 0x2c]
lea eax, [esp + 0x118]
mov edi, dword [esp + 0x20]
mov edx, edi
mov ecx, dword [esp + 8]
push eax
push esi
call fcn.0068ee8c
add esp, 8
test eax, eax
jns 0x688b37
mov eax, dword [esp + 0xc]
cmp eax, dword [0x443c74]
je 0x688b22
add eax, 0xa
push eax
push 0x43ec8c
push 2
call fcn.00678ebc
add esp, 0xc
test byte [0x43fedc], 2
je 0x688b13
mov eax, dword [0x443d10]
test eax, eax
je 0x688b13
push eax
mov eax, dword [esp + 0xc]
sub esi, edi
push 1
add eax, edi
push esi
push eax
call fcn.00699860
add esp, 0x10
push 0x43eca0
push 2
call fcn.00678ebc
add esp, 8
or eax, 0xffffffff
or ecx, eax
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], ecx
jmp 0x688b45
mov ecx, dword [esp + 0x11c]
mov eax, dword [esp + 0x118]
mov esi, dword [esp + 0xc]
cmp esi, dword [0x443c7c]
jne 0x688b76
test ecx, ecx
jl 0x6884fe
jg 0x688b63
test eax, eax
jb 0x6884fe
mov dword [esp + 0xdc], eax
mov dword [esp + 0xf8], ecx
jmp 0x6884fe
cmp esi, dword [0x443c74]
jne 0x688bc8
test ecx, ecx
jl 0x688b9b
jg 0x688b88
test eax, eax
jb 0x688b9b
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
jmp 0x6884fe
xorps xmm0, xmm0
movlpd qword [esp + 0x160], xmm0
mov eax, dword [esp + 0x164]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x160]
mov dword [esp + 0xbc], eax
jmp 0x6884fe
cmp esi, dword [0x443cfc]
jne 0x688be3
mov dword [esp + 0xec], eax
mov dword [esp + 0xfc], ecx
jmp 0x6884fe
cmp esi, dword [0x443ca4]
jne 0x688bfe
mov dword [esp + 0xd8], eax
mov dword [esp + 0xcc], ecx
jmp 0x6884fe
cmp esi, dword [0x443c98]
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 8]
jne 0x688506
mov dword [esp + 0xb8], eax
mov dword [esp + 0xd4], ecx
jmp 0x688506
mov esi, ecx
jmp 0x688502
xor eax, eax
mov dword [esp + 0x6c], eax
push 0x43ec48
jmp 0x68854e
mov eax, dword [esp + 0x28]
jmp 0x688560
push 0x43ecec
jmp 0x68854e
push 0x43eccc
jmp 0x68854e
push 0x43ee68
push 1
call fcn.00678ebc
add esp, 8
test byte [0x43fedc], 1
je 0x688c90
mov eax, dword [0x443d10]
test eax, eax
je 0x688c90
push eax
mov eax, dword [esp + 0x30]
sub eax, esi
push 1
push eax
lea eax, [edi + esi]
push eax
call fcn.00699860
add esp, 0x10
push 0x43ee88
jmp 0x68854e
push 0x43ee8c
jmp 0x68854e
push 0x43ef2c
jmp 0x68854e
push 0x43ef0c
jmp 0x68854e
push 0x43ef78
jmp 0x68854e
push 0x43ec6c
jmp 0x68854e
mov esi, dword [esp + 0x15c]
test esi, esi
je 0x688cf6
mov edx, dword [esp + 0x3c]
test edx, edx
js 0x688558
mov ecx, dword [esp + 0x28]
call fcn.00678f0c
test eax, eax
je 0x688558
mov dword [esi], eax
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x168]
cmp eax, ecx
je 0x688d0e
push eax
call fcn.00698208
add esp, 4
mov ecx, dword [esp + 0x148]
test ecx, ecx
je 0x688d24
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x688d24
and dword [ecx], 0xfffffffe
mov edi, dword [esp + 0xd0]
or ecx, 0xffffffff
mov eax, dword [esp + 0x7c]
test edi, edi
cmovne eax, ecx
mov ecx, dword [esp + 0x14c]
test ecx, ecx
je 0x688d44
mov dword [ecx], eax
mov ecx, dword [esp + 0x130]
test ecx, ecx
je 0x688d66
movdqu xmm0, xmmword [esp + 0x90]
mov eax, dword [esp + 0xa0]
movdqu xmmword [ecx], xmm0
mov dword [ecx + 0x10], eax
cmp dword [esp + 0xf0], 0
je 0x688e42
cmp dword [esp + 0xcc], 0
jg 0x688dbc
jl 0x688d8a
cmp dword [esp + 0xd8], 0
jae 0x688dbc
cmp dword [esp + 0xd4], 0
jg 0x688dbc
jl 0x688da0
cmp dword [esp + 0xb8], 0
jae 0x688dbc
cmp dword [esp + 0x70], 0
jne 0x688dbc
cmp dword [esp + 0x78], 0
jne 0x688dbc
cmp dword [esp + 0x88], 0
jne 0x688dbc
xor esi, esi
jmp 0x688e39
call fcn.006857ec
mov esi, eax
test esi, esi
je 0x688e08
mov eax, dword [esp + 0xd8]
mov dword [esi], eax
mov eax, dword [esp + 0xcc]
mov dword [esi + 4], eax
mov eax, dword [esp + 0xb8]
mov dword [esi + 8], eax
mov eax, dword [esp + 0xd4]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x70]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x78]
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x88]
mov dword [esi + 0x18], eax
jmp 0x688e39
push 0x43eff4
push 1
call fcn.00678ebc
mov eax, dword [esp + 0x78]
add esp, 8
test eax, eax
je 0x688e28
push eax
call fcn.00698208
add esp, 4
mov eax, dword [esp + 0x78]
test eax, eax
je 0x688e39
push eax
call fcn.00698208
add esp, 4
mov eax, dword [esp + 0xf0]
mov dword [eax], esi
mov eax, dword [esp + 0x158]
test eax, eax
je 0x688e4f
mov dword [eax], edi
mov eax, dword [esp + 0x138]
test eax, eax
je 0x688e6d
mov edx, dword [esp + 0xdc]
mov dword [eax], edx
mov edx, dword [esp + 0xf8]
mov dword [eax + 4], edx
mov eax, dword [esp + 0x150]
test eax, eax
je 0x688e8b
mov edx, dword [esp + 0xec]
mov dword [eax], edx
mov edx, dword [esp + 0xfc]
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x140]
test ecx, ecx
je 0x688ea9
mov eax, dword [esp + 0xbc]
mov dword [ecx], eax
mov eax, dword [esp + 0xc0]
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x144]
test ecx, ecx
je 0x688eba
mov eax, dword [esp + 0x60]
mov dword [ecx], eax
mov ecx, dword [esp + 0x128]
mov eax, dword [esp + 0x74]
test ecx, ecx
je 0x688ecd
mov dword [ecx], eax
jmp 0x688eda
test eax, eax
je 0x688eda
push eax
call fcn.00698208
add esp, 4
mov ecx, dword [esp + 0x12c]
test ecx, ecx
je 0x688efc
movq xmm0, qword [esp + 0x100]
mov eax, dword [esp + 0x108]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, dword [esp + 0x134]
test ecx, ecx
je 0x688f1e
movq xmm0, qword [esp + 0x10c]
mov eax, dword [esp + 0x114]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, dword [esp + 0xf4]
mov eax, dword [esp + 0x50]
test ecx, ecx
je 0x688f31
mov dword [ecx], eax
jmp 0x688f3c
test eax, eax
je 0x688f3c
mov ecx, eax
call fcn.006791cc
mov ecx, dword [esp + 0xe0]
mov eax, dword [esp + 0x84]
test ecx, ecx
je 0x688f52
mov dword [ecx], eax
jmp 0x688f5d
test eax, eax
je 0x688f5d
mov ecx, eax
call fcn.006791cc
mov ecx, dword [esp + 0xe8]
mov eax, dword [esp + 0x6c]
test ecx, ecx
je 0x688f70
mov dword [ecx], eax
jmp 0x688f7b
test eax, eax
je 0x688f7b
mov ecx, eax
call fcn.006791cc
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x688f88
call fcn.0067949c
mov ecx, dword [esp + 0x36c]
mov eax, dword [esp + 0x58]
pop edi
pop esi
xor ecx, esp
call fcn.006981f9
mov esp, ebp
pop ebp
ret
call fcn.00698834
int3