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

Disassembly:
mov eax, 0x3ed4
call fcn.004013f2
mov eax, dword [0x4fe040]
xor eax, esp
mov dword [esp + 0x3ed0], eax
mov eax, dword [esp + 0x3ee0]
push ebx
push ebp
mov ebp, dword [esp + 0x3ee0]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x3eec]
push esi
mov esi, dword [ebp]
lea ebx, [ebp + 4]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x3f00]
push edi
mov edi, dword [ebp + 0xb0]
mov dword [esp + 0x4c], eax
mov eax, dword [ebp + 0x34]
push edi
mov dword [esp + 0x44], ebp
mov dword [esp + 0x3c], 0
mov dword [esp + 0x20], edi
mov dword [esp + 0x60], ebx
mov dword [esp + 0x58], eax
call fcn.00465850
xor ecx, ecx
mov dword [esp + 0x7c], eax
push 0x80
push ecx
lea eax, [esp + 0x3e6c]
mov dword [esp + 0x54], ecx
push eax
mov byte [esp + 0x68], cl
mov byte [esp + 0x2b], cl
mov dword [esp + 0x60], ecx
mov dword [esp + 0x70], 0x1312d00
call sub.VCRUNTIME140.dll_memset
push 0x10
push ebx
xorps xmm0, xmm0
mov dword [esp + 0x3e58], 0
lea eax, [esp + 0xdc]
movq qword [esp + 0x3e50], xmm0
push esi
push eax
movups xmmword [esp + 0x3e68], xmm0
movq qword [esp + 0x3e78], xmm0
call fcn.00463d80
push 0x14
push ebx
lea eax, [esp + 0xd0]
push esi
push eax
call fcn.00463d80
push 0x14
push ebx
lea eax, [esp + 0xc4]
push esi
push eax
call fcn.00463d80
add esp, 0x40
lea eax, [esp + 0xe0]
push ebx
push eax
call fcn.00467e20
push dword [esp + 0x70]
mov ebx, dword [esp + 0x3f0c]
lea eax, [ebp + 0xf0]
push eax
push ebx
lea eax, [esp + 0xf4]
mov dword [esp + 0x34], ebx
push eax
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0xc4]
push eax
push dword [esp + 0x74]
lea eax, [esp + 0x13c]
push dword [esp + 0x94]
push ebp
push eax
call fcn.004667b0
cmp byte [ebp + 9], 0
push edi
setne byte [esp + 0x4e]
call fcn.00465650
mov ecx, dword [esp + 0x80]
add esp, 0x34
mov dword [ecx], eax
cmp byte [ebp + 9], 0
je 0x468222
push edi
call fcn.00465830
add esp, 4
jmp 0x468227
mov eax, 0x30
mov ebp, dword [esp + 0x5c]
push eax
push ebp
push esi
mov dword [esp + 0x70], eax
call fcn.0046afc0
mov esi, eax
add esp, 0xc
mov dword [esp + 0x74], esi
test esi, esi
jne 0x46824c
lea eax, [esi + 0x40]
jmp 0x46a2dc
lea eax, [esp + 0xc4]
push 0x11
push eax
call fcn.00463e30
lea eax, [esp + 0xcc]
push eax
call fcn.00463d30
add esp, 0xc
mov ecx, eax
cmp dword [ebp], 0
mov dword [esp + 0x14], ecx
jne 0x46a2da
mov eax, dword [esp + 0x3eec]
xor edi, edi
mov ebp, dword [esp + 0x3efc]
mov dword [esp + 0x10], edi
mov dword [esp + 0x28], ebp
movups xmm0, xmmword [eax]
movups xmmword [ecx], xmm0
jmp 0x4682b3
mov edi, dword [esp + 0x10]
jmp 0x4682b3
push esi
call fcn.0046aee0
add esp, 4
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004647f0
add esp, 4
test al, al
je 0x4682d1
test edi, edi
mov edx, 0xb
mov eax, 0xe
cmove edx, eax
jmp 0x4682fe
push dword [esp + 0x14]
call fcn.00464810
mov dl, al
add esp, 4
mov dword [esp + 0x30], edx
cmp dl, 0xb
je 0x4682ed
cmp dl, 0xe
jne 0x468302
mov ecx, dword [esp + 0x40]
movzx eax, dl
xor edx, edx
cmp byte [ecx + 9], dl
cmovne eax, edx
mov dl, al
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x40]
mov al, byte [eax + 8]
mov ah, byte [esp + 0x1b]
test al, al
je 0x468380
test ah, ah
jne 0x468341
cmp dl, 1
je 0x468341
cmp dl, 3
je 0x468341
cmp dl, 0xd
je 0x468341
cmp dl, 0xa
je 0x468341
cmp dl, 0xb
je 0x468341
cmp dl, 0xc
je 0x468341
cmp dl, 0xe
je 0x468341
cmp dl, 0x20
jb 0x4682a6
mov ecx, dword [esp + 0x50]
test ecx, ecx
jle 0x468364
cmp dl, 0xa
je 0x468364
cmp dl, 0xb
je 0x468364
cmp dl, 0xc
je 0x468364
xor edi, edi
cmp dl, 0x20
cmovb ecx, edi
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x58]
test cl, cl
je 0x468380
cmp dl, 0x20
jae 0x468380
xor edi, edi
movzx ecx, cl
cmp dl, 0xc
cmovne ecx, edi
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x5c]
cmp dword [ecx], 0
jne 0x468c6c
sub dword [esp + 0x60], 1
je 0x46a03f
movzx edi, dl
cmp edi, 0x1f
ja case.default.0x4683a4
jmp dword [edi*4 + 0x46a33c]
mov edx, dword [esp + 0x40]
cmp byte [edx + 9], 0
je case.0x4683a4.0
cmp byte [edx + 0x5d], 0
jne 0x46a03f
push esi
call fcn.0046b0f0
mov edi, dword [esp + 0x14]
add esp, 4
test eax, eax
js 0x4682a6
mov dword [edx + 0x78], eax
jmp 0x4682a6
mov edx, dword [esp + 0x40]
cmp byte [edx + 9], 0
je case.0x4683a4.0
cmp dword [edx + 0x60], 0
je 0x46a03f
push dword [edx + 0x80]
mov eax, dword [edx + 0x224]
lea edi, [edx + 0x5c]
push dword [edx + 0x7c]
push dword [edx + 0x78]
mov eax, dword [eax + 0xc]
push edi
call eax
add esp, 0x10
test al, al
je 0x468445
mov ecx, dword [esp + 0x40]
push dword [ecx + 0x80]
mov eax, dword [ecx + 0x224]
push dword [ecx + 0x7c]
push dword [ecx + 0x78]
mov eax, dword [eax + 0x10]
push edi
call eax
add esp, 0x10
mov dword [esp + 0x38], eax
test eax, eax
jne 0x46a2dc
push esi
call fcn.0046b0f0
add esp, 4
cmp eax, dword [esp + 0x64]
ja 0x46a03f
push eax
push esi
push edi
call fcn.00464c80
mov eax, dword [esp + 0x4c]
add esp, 0xc
mov edi, dword [esp + 0x10]
mov byte [eax + 0x5d], 1
jmp 0x4682af
test al, al
jne 0x468498
lea eax, [esp + 0xe0]
push eax
call fcn.00467e80
add esp, 4
test al, al
jne case.0x4683a4.0
mov edi, dword [esp + 0x1c]
xor eax, eax
jmp 0x4684a2
mov edi, dword [esp + 0x1c]
mov eax, dword [edi + 0x20]
mov eax, dword [eax + 4]
push eax
lea eax, [esp + 0x1e]
push eax
push dword [esp + 0x54]
lea eax, [esp + 0xb4]
push eax
push esi
push dword [esp + 0x54]
call fcn.00464fe0
add esp, 0x18
cmp byte [edi + 0x224], 0
jne 0x468c6c
mov edi, dword [esp + 0x10]
jmp 0x4682a6
test al, al
jne 0x4684fb
lea eax, [esp + 0xe0]
push eax
call fcn.00467e80
add esp, 4
test al, al
jne case.0x4683a4.0
mov edi, dword [esp + 0x1c]
xor eax, eax
jmp 0x468504
mov edi, dword [esp + 0x1c]
mov eax, dword [edi + 0x20]
mov eax, dword [eax]
push eax
lea eax, [esp + 0x1e]
push eax
push dword [esp + 0x54]
lea eax, [esp + 0x98]
push eax
push esi
push dword [esp + 0x54]
call fcn.00464fe0
add esp, 0x18
cmp byte [edi + 0x224], 0
jne 0x468c6c
mov edi, dword [esp + 0x10]
jmp 0x4682a6
push esi
call fcn.0046aef0
add esp, 4
cmp eax, 1
jbe 0x468563
cmp byte [esp + 0x1a], 0
jne 0x468563
push 0
push esi
call fcn.0046af50
mov ecx, dword [esp + 0x54]
add esp, 8
add eax, dword [esp + 0x78]
mov dword [ecx], eax
mov edi, dword [esp + 0x1c]
mov byte [esp + 0x1a], 1
cmp byte [edi + 0x224], 0
jne 0x468c6c
push esi
call fcn.0046b090
add esp, 4
add ebx, eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x3f00], ebx
jmp 0x469a62
push esi
call fcn.0046aef0
add esp, 4
mov dword [esp + 0x44], eax
xor edi, edi
test eax, eax
je 0x4685ed
push edi
push esi
call fcn.0046af50
add ebp, eax
lea eax, [edi + 1]
push eax
push esi
mov dword [esp + 0x3f0c], ebp
call fcn.0046af50
add ebx, eax
lea eax, [esp + 0x128]
push ebx
push ebp
push eax
mov dword [esp + 0x3f1c], ebx
call fcn.00466950
add edi, 2
add esp, 0x1c
cmp edi, dword [esp + 0x44]
jb 0x4685a7
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], ebp
push esi
call fcn.0046aee0
mov edi, dword [esp + 0x14]
add esp, 4
jmp 0x4682af
push esi
call fcn.0046aef0
add esp, 4
mov dword [esp + 0x44], eax
cmp dl, 6
sete byte [esp + 0x27]
xor edi, edi
test eax, eax
je 0x46866e
nop word [eax + eax]
push edi
push esi
call fcn.0046af50
mov cl, byte [esp + 0x2f]
add esp, 8
test cl, cl
je 0x46863d
add ebp, eax
mov dword [esp + 0x3efc], ebp
jmp 0x468646
add ebx, eax
mov dword [esp + 0x3f00], ebx
push ebx
lea eax, [esp + 0x11c]
xor cl, 1
push ebp
push eax
mov byte [esp + 0x33], cl
call fcn.00466950
inc edi
add esp, 0xc
cmp edi, dword [esp + 0x44]
jb 0x468620
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], ebp
push esi
call fcn.0046aee0
mov edi, dword [esp + 0x14]
add esp, 4
jmp 0x4682af
push esi
call fcn.0046aef0
xor edi, edi
mov dword [esp + 0x30], eax
add esp, 4
mov dword [esp + 0x34], edi
cmp eax, 6
jb 0x46875b
nop dword [eax]
push edi
push esi
call fcn.0046af50
mov ecx, dword [esp + 0x3c]
inc ecx
push ecx
lea edi, [eax + ebp]
push esi
mov dword [esp + 0x54], edi
call fcn.0046af50
mov ecx, dword [esp + 0x44]
add ecx, 2
push ecx
push esi
lea ebp, [ebx + eax]
call fcn.0046af50
mov ecx, dword [esp + 0x4c]
add ecx, 3
push ecx
push esi
lea ebx, [edi + eax]
call fcn.0046af50
mov ecx, dword [esp + 0x54]
add ecx, 4
push ecx
push esi
lea edi, [eax + ebp]
call fcn.0046af50
add eax, ebx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x5c]
add eax, 5
push eax
push esi
call fcn.0046af50
add eax, edi
push eax
push dword [esp + 0x5c]
mov dword [esp + 0x58], eax
lea eax, [esp + 0x150]
push edi
push ebx
push ebp
push dword [esp + 0x88]
push eax
call fcn.00466360
mov edi, dword [esp + 0x80]
add esp, 0x4c
mov ebp, dword [esp + 0x28]
add edi, 6
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x3efc], ebp
mov dword [esp + 0x3f00], ebx
lea eax, [edi + 6]
mov dword [esp + 0x34], edi
cmp eax, dword [esp + 0x2c]
jbe 0x4686a0
mov edx, dword [esp + 0x30]
cmp dl, 0x18
jne case.0x468e81.12
push edi
push esi
call fcn.0046af50
add ebp, eax
lea eax, [edi + 1]
push eax
push esi
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3f0c], ebp
call fcn.0046af50
add ebx, eax
lea eax, [esp + 0x128]
push ebx
push ebp
push eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x3f1c], ebx
call fcn.00466950
add esp, 0x1c
push esi
call fcn.0046aee0
mov edi, dword [esp + 0x14]
add esp, 4
jmp 0x4682af
test al, al
je case.0x4683a4.0
lea eax, [esp + 0x118]
push eax
call fcn.00465bb0
mov edi, dword [esp + 0x14]
add esp, 4
mov byte [esp + 0x1a], 1
jmp 0x4682a6
mov eax, dword [esp + 0x10]
cmp eax, 0x10
jg 0x46a03f
inc eax
push eax
lea eax, [esp + 0xc8]
push eax
call fcn.00463d40
mov edx, eax
push esi
mov dword [esp + 0x20], edx
call fcn.0046b0f0
mov ecx, dword [esp + 0x4c]
add esp, 0xc
mov edi, dword [esp + 0x1c]
cmp byte [ecx + 8], 0
je 0x468831
mov ecx, dword [edi + 0x268]
test ecx, ecx
je 0x468831
push ecx
push eax
call fcn.004022f7
mov edx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x46882e
mov eax, dword [eax]
jmp 0x468831
or eax, 0xffffffff
cmp byte [esp + 0x30], 0x1d
push edx
push eax
push edi
je 0x468842
call fcn.00467ff0
jmp 0x468847
call fcn.00467f90
add esp, 0xc
test eax, eax
jne 0x46a03f
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
jmp 0x4682af
mov edi, dword [esp + 0x10]
cmp edi, 1
jl 0x46a03f
dec edi
lea eax, [esp + 0xc4]
push edi
push eax
mov dword [esp + 0x18], edi
call fcn.00463d40
mov ecx, eax
add esp, 8
mov dword [esp + 0x14], ecx
jmp 0x4682b3
push dword [esp + 0x14]
call fcn.00464810
mov cl, al
add esp, 4
movzx edx, cl
mov byte [esp + 0x27], cl
lea eax, [edx - 8]
cmp eax, 0x1d
ja case.default.0x4688b6
movzx ecx, byte [eax + 0x46a3d4]
jmp dword [ecx*4 + 0x46a3bc]
push 0
push 0x4e68d8
jmp 0x46891d
push 0
push 0x4e68e4
lea eax, [esp + 0x120]
push eax
lea eax, [esp + 0x3f0c]
push eax
lea eax, [esp + 0x3f0c]
push eax
push esi
call fcn.00464db0
mov ebx, dword [esp + 0x3f18]
add esp, 0x18
mov ebp, dword [esp + 0x3efc]
mov edi, dword [esp + 0x10]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], ebp
jmp 0x4682a6
push 0
push 0x4e68f0
jmp 0x46891d
push 1
push 0x4e68fc
lea eax, [esp + 0x120]
push eax
lea eax, [esp + 0x3f0c]
push eax
lea eax, [esp + 0x3f0c]
push eax
push esi
call fcn.00464db0
mov ebx, dword [esp + 0x3f18]
add esp, 0x18
mov ebp, dword [esp + 0x3efc]
mov edi, dword [esp + 0x10]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], ebp
jmp 0x4682af
mov cl, byte [esp + 0x27]
mov eax, dword [esp + 0x40]
cmp byte [eax + 9], 0
jne case.0x4683a4.0
cmp cl, 0x26
jae case.0x4683a4.0
mov al, byte [eax + 8]
test al, al
je 0x46899c
cmp dword [esp + 0x50], 0
jle 0x46899c
cmp cl, 0x11
je 0x46899c
mov edi, dword [esp + 0x10]
mov dword [esp + 0x50], 0
jmp 0x4682a6
cmp edx, 0x21
ja case.0x4683a4.0
jmp dword [edx*4 + 0x46a3f4]
test al, al
je case.0x4683a4.0
push 0
push esi
call fcn.0046af50
push 2
push esi
mov edi, eax
call fcn.0046af50
push 4
push esi
mov ebp, eax
call fcn.0046af50
push 1
push esi
mov ebx, eax
call fcn.0046af50
mov ecx, ebp
sub ecx, edi
sub ecx, eax
push ecx
push 2
push esi
call fcn.0046b350
push 3
push esi
call fcn.0046af50
sub ebx, ebp
sub ebx, eax
push ebx
push 4
push esi
call fcn.0046b350
mov edi, dword [esp + 0x5c]
add esp, 0x40
cmp byte [esp + 0x27], 1
mov eax, dword [edi + 0x20]
jne 0x468a13
mov eax, dword [eax]
jmp 0x468a16
mov eax, dword [eax + 4]
push eax
lea eax, [esp + 0x1e]
push eax
push dword [esp + 0x54]
lea edx, [esp + 0xb4]
lea eax, [esp + 0x98]
cmovne eax, edx
push eax
push esi
push dword [esp + 0x54]
call fcn.00464fe0
add esp, 0x18
cmp byte [edi + 0x224], 0
jne 0x468c6c
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
jmp 0x4682a6
push esi
call fcn.0046b090
push esi
mov edx, eax
call fcn.0046b090
add esp, 8
test eax, eax
je 0x468a8e
test edx, edx
je 0x468a8e
mov eax, 1
push eax
push esi
call fcn.0046b1a0
mov edi, dword [esp + 0x18]
add esp, 8
jmp 0x4682af
xor eax, eax
push eax
push esi
call fcn.0046b1a0
mov edi, dword [esp + 0x18]
add esp, 8
jmp 0x4682af
push esi
call fcn.0046b090
push esi
mov edx, eax
call fcn.0046b090
add esp, 8
test eax, eax
jne 0x468acf
test edx, edx
jne 0x468acf
push eax
push esi
call fcn.0046b1a0
mov edi, dword [esp + 0x18]
add esp, 8
jmp 0x4682af
mov eax, 1
push eax
push esi
call fcn.0046b1a0
mov edi, dword [esp + 0x18]
add esp, 8
jmp 0x4682af
push esi
call fcn.0046b090
xor ecx, ecx
test eax, eax
sete cl
push ecx
push esi
call fcn.0046b1a0
mov edi, dword [esp + 0x1c]
add esp, 0xc
jmp 0x4682af
test al, al
je case.0x4683a4.0
mov eax, dword [esp + 0x1c]
push esi
mov edx, dword [eax + 4]
call fcn.0046b0f0
mov edi, eax
push esi
mov dword [esp + 0x5c], edi
call fcn.0046b0f0
push esi
mov ebp, eax
call fcn.0046b090
push esi
mov dword [esp + 0x54], eax
call fcn.0046b090
push esi
mov ebx, eax
call fcn.0046b090
add esp, 0x14
mov dword [esp + 0x64], eax
cmp byte [esp + 0x3ef8], 0
jne 0x46a03f
mov ecx, dword [esp + 0x1c]
cmp byte [ecx + 0x2f], 0
jne 0x46a03f
cmp dword [ecx + 0x244], 0
jne 0x468b7e
mov eax, dword [edx + 0x80]
cmp dword [eax + 0x34], 0
je 0x46a03f
mov eax, dword [ecx + 0x20]
add ebx, dword [eax]
mov eax, dword [edx + 0x80]
cmp dword [eax + 0x34], 0
jne 0x468baf
push ebp
push ecx
call fcn.0046be70
push edi
push dword [esp + 0x28]
mov ebp, eax
call fcn.0046be70
mov ecx, dword [esp + 0x2c]
mov edi, eax
add esp, 0x10
mov dword [esp + 0x54], edi
test ebp, ebp
js 0x46a03f
test edi, edi
js 0x46a03f
cmp byte [ecx + 0x2e], 0
je 0x46a049
mov eax, dword [ecx + 8]
mov dword [esp + 0x74], eax
push 2
mov eax, dword [eax + 0x9c]
mov edi, dword [eax]
push edi
mov dword [esp + 0x88], edi
call fcn.00401d2f
add esp, 8
test eax, eax
jne 0x46a2dc
mov edi, dword [edi + 0x58]
mov eax, 0x202
sub ebx, dword [esp + 0x64]
push ebx
mov word [edi + 4], ax
mov eax, dword [esp + 0x58]
mov dword [edi + 0x20], eax
mov eax, 2
mov dword [edi], ebp
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
mov word [edi + 0x24], ax
call fcn.00401537
push dword [esp + 0x48]
sar eax, 0x10
mov dword [edi + 0x28], eax
call fcn.00401537
mov ecx, dword [esp + 0x7c]
add esp, 8
mov edx, dword [esp + 0x80]
sar eax, 0x10
mov dword [edi + 0x2c], eax
mov dword [ecx + 0x80], 2
mov eax, dword [edx + 0x34]
mov dword [ecx + 0x84], eax
mov dword [ecx + 0x48], 0x636f6d70
mov dword [edx + 0x54], 2
mov eax, dword [esp + 0x38]
jmp 0x46a2dc
test al, al
je case.0x4683a4.0
push esi
call fcn.0046b090
mov edi, dword [esp + 0x20]
push esi
mov ecx, dword [edi + 0x24]
mov dword [ecx + 4], eax
call fcn.0046b090
mov ecx, dword [edi + 0x24]
push esi
mov dword [ecx], eax
call fcn.0046b090
push esi
mov edx, eax
call fcn.0046b090
mov ecx, dword [edi + 0x20]
add esp, 0x10
mov byte [esp + 0x1a], 1
add dword [ecx], eax
mov ecx, dword [edi + 0x20]
add dword [ecx + 4], edx
cmp byte [edi + 0x2f], 0
jne 0x468c6c
cmp byte [esp + 0x1b], 0
mov edi, dword [esp + 0x10]
je 0x4682a6
add ebp, eax
add ebx, edx
mov dword [esp + 0x28], ebp
mov dword [esp + 0x3efc], ebp
mov dword [esp + 0x20], ebx
mov dword [esp + 0x3f00], ebx
jmp 0x4682a6
push esi
call fcn.0046b090
add esp, 4
cmp eax, 0x80000001
jge 0x468d14
push 0x7fffffff
push esi
call fcn.0046b150
mov edi, dword [esp + 0x18]
add esp, 8
jmp 0x4682af
cdq
xor eax, edx
sub eax, edx
push eax
push esi
call fcn.0046b150
mov edi, dword [esp + 0x18]
add esp, 8
jmp 0x4682af
push esi
call fcn.0046b090
push esi
mov edx, eax
call fcn.0046b090
add eax, edx
push eax
push esi
call fcn.0046b150
mov edi, dword [esp + 0x20]
add esp, 0x10
jmp 0x4682af
push esi
call fcn.0046b090
push esi
mov edx, eax
call fcn.0046b090
sub eax, edx
push eax
push esi
call fcn.0046b150
mov edi, dword [esp + 0x20]
add esp, 0x10
jmp 0x4682af
test al, al
je 0x468d92
cmp byte [esp + 0x58], 0
je 0x468d92
push esi
call fcn.0046b0f0
push esi
mov edx, eax
call fcn.0046b0f0
mov byte [esp + 0x60], 0
jmp 0x468da0
push esi
call fcn.0046b090
push esi
mov edx, eax
call fcn.0046b090
add esp, 8
push edx
push eax
call fcn.00401c08
push eax
push esi
call fcn.0046b150
mov edi, dword [esp + 0x20]
add esp, 0x10
jmp 0x4682af
push esi
call fcn.0046b090
add esp, 4
cmp eax, 0x80000001
jge 0x468de5
mov eax, 0x7fffffff
push eax
push esi
call fcn.0046b150
mov edi, dword [esp + 0x18]
add esp, 8
jmp 0x4682af
neg eax
push eax
push esi
call fcn.0046b150
mov edi, dword [esp + 0x18]
add esp, 8
jmp 0x4682af
push esi
call fcn.0046b090
push esi
mov edx, eax
call fcn.0046b090
xor ecx, ecx
cmp eax, edx
sete cl
push ecx
push esi
call fcn.0046b1a0
mov edi, dword [esp + 0x20]
add esp, 0x10
jmp 0x4682af
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test al, al
je 0x4682b3
push esi
call fcn.0046b0f0
push esi
mov edi, eax
call fcn.0046b0f0
push esi
mov dword [esp + 0x38], eax
call fcn.0046aef0
mov ecx, dword [esp + 0x38]
mov edx, eax
add esp, 0xc
cmp ecx, edx
ja 0x46a03f
sub edx, ecx
mov dword [esp + 0x48], 0
mov dword [esp + 0x34], edx
mov dword [esp + 0x50], 0
cmp edi, 0x1c
ja case.0x468e81.4
movzx eax, byte [edi + 0x46a4bc]
jmp dword [eax*4 + 0x46a47c]
cmp ecx, 3
jne 0x46a03f
cmp byte [esp + 0x1b], 0
je 0x468eb6
mov edi, dword [esp + 0x1c]
cmp dword [edi + 0x1d4], 0
je 0x46a03f
cmp dword [edi + 0x1d8], 7
jne 0x46a03f
push ebp
push esi
call fcn.0046b150
push ebx
push esi
call fcn.0046b150
mov edi, dword [esp + 0x20]
add esp, 0x10
mov dword [esp + 0x48], 2
jmp 0x4682af
test ecx, ecx
jne 0x46a03f
cmp byte [esp + 0x1b], cl
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
je 0x4682b3
mov edi, dword [esp + 0x1c]
push 6
push edi
call fcn.0046b580
add esp, 8
test eax, eax
jne 0x468c6c
mov dword [edi + 0x1d4], 1
mov dword [edi + 0x1d8], eax
mov edi, dword [esp + 0x10]
jmp 0x4682af
test ecx, ecx
jne 0x46a03f
cmp byte [esp + 0x1b], cl
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
je 0x4682b3
mov edx, dword [esp + 0x1c]
cmp dword [edx + 0x1d4], 0
je 0x46a03f
mov edi, dword [edx + 0x1d8]
lea eax, [edi + 1]
mov dword [edx + 0x1d8], eax
lea eax, [edi - 1]
cmp eax, 5
ja 0x4682a0
push 1
push edx
call fcn.0046b580
add esp, 8
test eax, eax
jne 0x46a03f
lea eax, [edi - 3]
cmp edi, 3
jg 0x468f85
mov eax, edi
add eax, eax
mov dword [esp + eax*4 + 0x3e40], ebp
mov dword [esp + eax*4 + 0x3e44], ebx
cmp edi, 3
je 0x468fab
mov ecx, dword [esp + 0x14]
cmp edi, 6
mov edi, dword [esp + 0x10]
jne 0x4682b3
push dword [esp + 0x3e5c]
lea eax, [esp + 0x11c]
push dword [esp + 0x3e5c]
push dword [esp + 0x3e5c]
push dword [esp + 0x3e5c]
push dword [esp + 0x3e5c]
push dword [esp + 0x3e5c]
push eax
call fcn.00466360
mov edi, dword [esp + 0x2c]
add esp, 0x1c
jmp 0x4682af
cmp ecx, 1
jne 0x46a03f
cmp byte [esp + 0x1b], 0
je 0x469036
lea eax, [esp + 0x8c]
push eax
call fcn.00463ce0
lea eax, [esp + 0xac]
push eax
call fcn.00463ce0
push dword [esp + 0x64]
lea eax, [esp + 0xec]
push eax
call fcn.00467e20
add esp, 0x10
mov word [esp + 0xe4], 0x100
mov edi, dword [esp + 0x10]
mov dword [esp + 0x48], 1
jmp 0x4682af
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x284]
mov dword [esp + 0x30], ecx
test ecx, ecx
je 0x46a03f
xor eax, eax
cmp edi, 0x12
sete al
add eax, 0xfffffff3
add edi, eax
mov eax, dword [ecx]
imul eax, edi
mov dword [esp + 0x48], edi
cmp dword [esp + 0x2c], eax
jne 0x46a03f
mov eax, dword [esp + 0x48]
add edi, edx
test eax, eax
je 0x46914d
mov ebp, eax
mov dword [esp + 0x44], eax
push edx
push esi
call fcn.0046af50
mov ebx, eax
add esp, 8
mov eax, dword [esp + 0x30]
cmp dword [eax], 1
jbe 0x469121
mov eax, 1
mov ebp, 4
sub eax, edi
mov dword [esp + 0x3c], eax
push edi
push esi
call fcn.0046af50
mov dword [esp + 0x90], eax
add esp, 8
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x88]
mov eax, dword [eax + ebp]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x6c]
imul edx
mov ecx, edx
sar ecx, 0x1f
add ecx, 0x8000
add eax, ecx
adc edx, 0
shr eax, 0x10
shl edx, 0x10
add eax, edx
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0x30]
lea ebp, [ebp + 4]
mov eax, dword [esp + 0x3c]
inc edi
add ebx, dword [esp + 0x84]
add eax, edi
cmp eax, dword [ecx]
jb 0x4690b6
mov ebp, dword [esp + 0x44]
push ebx
push dword [esp + 0x38]
push esi
call fcn.0046b350
mov edx, dword [esp + 0x40]
add esp, 0xc
inc edx
sub ebp, 1
mov dword [esp + 0x34], edx
mov dword [esp + 0x44], ebp
jne 0x469091
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x2c]
sub eax, dword [esp + 0x48]
push eax
push esi
call fcn.0046b050
mov edi, dword [esp + 0x18]
add esp, 8
jmp 0x4682af
mov eax, dword [esp + 0x1c]
mov edi, dword [eax + 0x284]
mov edx, dword [eax + 0x28c]
cmp ecx, 1
jne 0x46a03f
test edi, edi
je 0x46a03f
push esi
call fcn.0046b0f0
mov ecx, eax
add esp, 4
mov eax, dword [edi]
mov dword [esp + 0x3c], ecx
cmp edx, eax
jb 0x46a03f
sub edx, eax
cmp edx, ecx
jb 0x46a03f
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [edx + 0x288]
test edx, edx
je 0x4682a0
mov ecx, dword [edi + 0x88]
mov edi, dword [esp + 0x10]
test ecx, ecx
je 0x4682af
shl eax, 2
push eax
mov eax, dword [esp + 0x40]
push ecx
lea eax, [edx + eax*4]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
jmp 0x4682af
cmp ecx, 2
jne 0x46a03f
push esi
call fcn.0046b090
push esi
mov edx, eax
call fcn.0046b090
add eax, edx
push eax
push esi
call fcn.0046b150
mov edi, dword [esp + 0x20]
add esp, 0x10
mov dword [esp + 0x48], 1
jmp 0x4682af
cmp ecx, 2
jne 0x46a03f
push esi
call fcn.0046b090
push esi
mov edx, eax
call fcn.0046b090
sub eax, edx
push eax
push esi
call fcn.0046b150
mov edi, dword [esp + 0x20]
add esp, 0x10
mov dword [esp + 0x48], 1
jmp 0x4682af
cmp ecx, 2
jne 0x46a03f
push esi
call fcn.0046b090
push esi
mov dword [esp + 0x74], eax
call fcn.0046b090
add esp, 8
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x6c]
imul edx
mov ecx, edx
sar ecx, 0x1f
add ecx, 0x8000
add eax, ecx
adc edx, 0
shr eax, 0x10
shl edx, 0x10
add eax, edx
mov dword [esp + 0x7c], eax
push dword [esp + 0x7c]
push esi
call fcn.0046b150
mov edi, dword [esp + 0x18]
add esp, 8
mov dword [esp + 0x48], 1
jmp 0x4682af
cmp ecx, 2
jne 0x46a03f
push esi
call fcn.0046b090
push esi
mov edx, eax
call fcn.0046b090
add esp, 8
test edx, edx
je 0x46a03f
push edx
push eax
call fcn.00401c08
push eax
push esi
call fcn.0046b150
mov edi, dword [esp + 0x20]
add esp, 0x10
mov dword [esp + 0x48], 1
jmp 0x4682af
cmp ecx, 2
jne 0x46a03f
mov edi, dword [esp + 0x1c]
cmp dword [edi + 0x284], 0
je 0x46a03f
push esi
call fcn.0046b0f0
mov edx, eax
add esp, 4
cmp edx, dword [edi + 0x28c]
jae 0x46a03f
push esi
call fcn.0046b090
mov ecx, dword [edi + 0x288]
add esp, 4
mov edi, dword [esp + 0x10]
mov dword [ecx + edx*4], eax
jmp 0x4682af
cmp ecx, 1
jne 0x46a03f
mov edi, dword [esp + 0x1c]
cmp dword [edi + 0x284], 0
je 0x46a03f
push esi
call fcn.0046b0f0
add esp, 4
cmp eax, dword [edi + 0x28c]
jae 0x46a03f
mov ecx, dword [edi + 0x288]
push dword [ecx + eax*4]
jmp 0x4692a0
cmp ecx, 4
jne 0x46a03f
push esi
call fcn.0046b090
push esi
mov ebx, eax
call fcn.0046b090
push esi
mov edi, eax
call fcn.0046b090
push esi
mov edx, eax
call fcn.0046b090
cmp edi, ebx
cmovle edx, eax
push edx
push esi
call fcn.0046b150
mov ebx, dword [esp + 0x38]
add esp, 0x18
mov edi, dword [esp + 0x10]
mov dword [esp + 0x48], 1
jmp 0x4682af
test ecx, ecx
jne 0x46a03f
mov eax, dword [esp + 0x1c]
mov ebx, dword [eax + 0x218]
mov edi, dword [ebx + 0x288]
push edi
call fcn.00461bc0
mov dword [ebx + 0x288], eax
movzx eax, di
inc eax
push eax
push esi
call fcn.0046b150
mov ebx, dword [esp + 0x2c]
add esp, 0xc
mov edi, dword [esp + 0x10]
mov dword [esp + 0x48], 1
jmp 0x4682af
test ecx, ecx
js 0x46a03f
test edi, edi
js 0x46a03f
mov edi, dword [esp + 0x10]
cmp ecx, 3
mov eax, ecx
mov ecx, 3
cmovg eax, ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], eax
cmp eax, 1
jb 0x4682b3
lea edx, [esp + eax*4 + 0x3e34]
mov edi, eax
push esi
call fcn.0046b090
mov dword [edx], eax
add esp, 4
sub edx, 4
sub edi, 1
jne 0x469454
mov edi, dword [esp + 0x10]
jmp 0x4682af
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test al, al
je 0x4682b3
mov edx, dword [esp + 0x48]
test edx, edx
jle 0x469492
dec edx
mov dword [esp + 0x48], edx
jmp 0x4682af
mov eax, dword [esp + 0x50]
test eax, eax
je 0x46a03f
push dword [esp + eax*4 + 0x3e34]
dec eax
push esi
mov dword [esp + 0x58], eax
call fcn.0046b150
mov edi, dword [esp + 0x18]
add esp, 8
jmp 0x4682af
push esi
call fcn.0046b090
mov edi, dword [esp + 0x14]
add esp, 4
jmp 0x4682af
push esi
call fcn.0046b0f0
push esi
mov edx, eax
call fcn.0046b090
mov edi, dword [esp + 0x18]
add esp, 8
mov ecx, dword [esp + 0x14]
cmp edx, 0x20
jae 0x4682b3
mov dword [esp + edx*4 + 0x3e60], eax
jmp 0x4682af
push esi
call fcn.0046b0f0
mov edi, dword [esp + 0x14]
add esp, 4
mov ecx, dword [esp + 0x14]
cmp eax, 0x20
jae 0x4682b3
push dword [esp + eax*4 + 0x3e60]
push esi
call fcn.0046b150
add esp, 8
jmp 0x4682af
push esi
call fcn.0046b090
push esi
mov ebx, eax
call fcn.0046b090
push esi
mov edi, eax
call fcn.0046b090
push esi
mov edx, eax
call fcn.0046b090
cmp edi, ebx
cmovle edx, eax
push edx
push esi
call fcn.0046b150
mov ebx, dword [esp + 0x38]
add esp, 0x18
mov edi, dword [esp + 0x10]
jmp 0x4682af
mov eax, dword [esp + 0x1c]
mov ebx, dword [eax + 0x218]
mov edi, dword [ebx + 0x288]
push edi
call fcn.00461bc0
mov dword [ebx + 0x288], eax
movzx eax, di
inc eax
push eax
push esi
call fcn.0046b150
mov ebx, dword [esp + 0x2c]
add esp, 0xc
mov edi, dword [esp + 0x10]
jmp 0x4682af
push esi
call fcn.0046b090
push esi
mov dword [esp + 0x74], eax
call fcn.0046b090
add esp, 8
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x6c]
imul edx
mov ecx, edx
sar ecx, 0x1f
add ecx, 0x8000
add eax, ecx
adc edx, 0
shr eax, 0x10
shl edx, 0x10
add eax, edx
mov dword [esp + 0x80], eax
push dword [esp + 0x80]
push esi
call fcn.0046b150
mov edi, dword [esp + 0x18]
add esp, 8
jmp 0x4682af
push esi
call fcn.0046b090
add esp, 4
mov dword [esp + 0x3c], eax
test eax, eax
jle 0x469668
mov edi, eax
cmp eax, 0xa
jl 0x46960f
sar edi, 1
push edi
push eax
call fcn.00401c08
inc eax
add esp, 8
add eax, edi
sar eax, 1
mov dword [esp + 0x2c], eax
cmp eax, edi
je 0x46966a
mov ebp, dword [esp + 0x3c]
mov esi, eax
nop dword [eax]
push esi
push ebp
mov edi, esi
call fcn.00401c08
inc esi
add esp, 8
add esi, eax
sar esi, 1
cmp esi, edi
jne 0x469630
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x2c], esi
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x74]
push eax
push esi
call fcn.0046b150
mov edi, dword [esp + 0x18]
add esp, 8
jmp 0x4682af
xor eax, eax
push eax
push esi
call fcn.0046b150
mov edi, dword [esp + 0x18]
add esp, 8
jmp 0x4682af
push esi
call fcn.0046b090
mov edi, eax
push edi
push esi
call fcn.0046b150
push edi
push esi
call fcn.0046b150
mov edi, dword [esp + 0x24]
add esp, 0x14
jmp 0x4682af
push esi
call fcn.0046b090
push esi
mov edx, eax
call fcn.0046b090
push edx
push esi
mov edi, eax
call fcn.0046b150
push edi
push esi
call fcn.0046b150
mov edi, dword [esp + 0x28]
add esp, 0x18
jmp 0x4682af
push esi
call fcn.0046b0f0
push esi
mov edx, eax
call fcn.0046aef0
mov edi, dword [esp + 0x18]
add esp, 8
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x4682b3
test edx, edx
js 0x4696f8
cmp edx, eax
jb 0x4696f6
xor eax, eax
jmp 0x4696f9
sub eax, edx
dec eax
push eax
push esi
call fcn.0046af50
push eax
push esi
call fcn.0046b150
mov edi, dword [esp + 0x20]
add esp, 0x10
jmp 0x4682af
push esi
call fcn.0046b0f0
push esi
mov edx, eax
call fcn.0046b0f0
push edx
push eax
push esi
call fcn.0046b1f0
mov edi, dword [esp + 0x24]
add esp, 0x14
jmp 0x4682af
test al, al
je case.0x4683a4.0
cmp byte [esp + 0x1b], 0
je case.0x4683a4.0
push esi
call fcn.0046b090
mov ebx, eax
push esi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x3f08], ebx
call fcn.0046b090
mov edi, dword [esp + 0x18]
mov ebp, eax
mov eax, dword [esp + 0x24]
add esp, 8
mov dword [esp + 0x28], ebp
mov dword [esp + 0x3efc], ebp
mov dword [eax + 0x1d4], 0
jmp 0x4682a6
test al, al
je case.0x4683a4.0
push esi
call fcn.0046b090
mov edx, dword [esp + 0x20]
push esi
mov ecx, dword [edx + 0x24]
mov dword [ecx], eax
mov eax, dword [edx + 0x24]
mov dword [eax + 4], 0
call fcn.0046b090
mov ecx, dword [edx + 0x20]
add esp, 8
mov byte [esp + 0x1a], 1
add dword [ecx], eax
cmp byte [edx + 0x2f], 0
jne 0x468c6c
cmp byte [esp + 0x1b], 0
mov edi, dword [esp + 0x10]
je 0x4682a6
add ebp, eax
mov dword [esp + 0x28], ebp
mov dword [esp + 0x3efc], ebp
jmp 0x4682a6
test al, al
je 0x46a183
test ah, ah
jne 0x46a183
push ebx
lea eax, [esp + 0x11c]
push ebp
push eax
call fcn.00466b40
lea eax, [esp + 0x98]
mov byte [esp + 0x27], 1
push eax
call fcn.00463ce0
lea eax, [esp + 0xb8]
push eax
call fcn.00463ce0
push dword [esp + 0x70]
lea eax, [esp + 0xf8]
push eax
call fcn.00467e20
mov edi, dword [esp + 0x2c]
add esp, 0x1c
mov word [esp + 0xe4], 0x100
test edi, edi
jle 0x46987b
nop dword [eax + eax]
dec edi
lea eax, [esp + 0xc4]
push edi
push eax
call fcn.00463d40
add esp, 8
mov ecx, eax
mov dword [esp + 0x14], ecx
test edi, edi
jg 0x469850
mov eax, dword [ecx + 4]
mov dword [esp + 0x10], edi
mov dword [ecx + 0xc], eax
jmp 0x4682a6
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 4]
mov dword [ecx + 0xc], eax
jmp 0x4682a6
push esi
call fcn.0046aef0
add esp, 4
cmp eax, 1
jbe 0x4698b0
lea eax, [esp + 0xe0]
push eax
call fcn.00467e80
add esp, 4
test al, al
jne case.0x4683a4.0
push 0
lea eax, [esp + 0x1e]
push eax
push dword [esp + 0x54]
lea eax, [esp + 0x98]
push eax
push esi
push dword [esp + 0x54]
call fcn.00464fe0
mov eax, dword [esp + 0x34]
add esp, 0x18
cmp byte [eax + 0x224], 0
jne 0x468c6c
lea eax, [esp + 0x8c]
push eax
call fcn.00463f10
mov edi, eax
lea eax, [esp + 0xac]
push eax
call fcn.00463f10
add esp, 8
mov dword [esp + 0x3c], eax
cmp byte [esp + 0x30], 0x13
jne 0x46992b
add eax, edi
push eax
push dword [esp + 0x18]
lea eax, [esp + 0xe8]
push eax
call fcn.00467e90
mov edi, dword [esp + 0x1c]
add esp, 0xc
jmp 0x4682a6
push dword [esp + 0x54]
lea eax, [esp + 0x2e78]
push eax
lea eax, [esp + 0x1f60]
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x2f2c]
push eax
call fcn.00467980
push dword [esp + 0x70]
lea eax, [esp + 0x114]
push eax
call fcn.00467e20
mov eax, dword [esp + 0x58]
add eax, edi
push eax
push dword [esp + 0x34]
lea eax, [esp + 0x120]
push eax
call fcn.00467e90
push 0
push 0
lea eax, [esp + 0x12c]
push eax
lea eax, [esp + 0xc0]
push eax
lea eax, [esp + 0xe0]
push eax
lea eax, [esp + 0x2f58]
push eax
call fcn.004674c0
mov edi, dword [esp + 0x50]
add esp, 0x40
jmp 0x4682a6
push esi
call fcn.0046aef0
add esp, 4
cmp eax, 2
jbe 0x4699d8
cmp byte [esp + 0x1a], 0
jne 0x4699d8
push 0
push esi
call fcn.0046af50
mov ecx, dword [esp + 0x54]
add esp, 8
add eax, dword [esp + 0x78]
mov dword [ecx], eax
mov edi, dword [esp + 0x1c]
mov byte [esp + 0x1a], 1
cmp byte [edi + 0x224], 0
jne 0x468c6c
push esi
call fcn.0046b090
add ebx, eax
push esi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x3f08], ebx
call fcn.0046b090
add esp, 8
jmp 0x469a55
push esi
call fcn.0046aef0
add esp, 4
cmp eax, 1
jbe 0x469a36
cmp byte [esp + 0x1a], 0
jne 0x469a36
push 0
push esi
call fcn.0046af50
mov ecx, dword [esp + 0x54]
add esp, 8
add eax, dword [esp + 0x78]
mov dword [ecx], eax
mov edi, dword [esp + 0x1c]
mov byte [esp + 0x1a], 1
cmp byte [edi + 0x224], 0
jne 0x468c6c
push esi
call fcn.0046b090
add esp, 4
add ebp, eax
mov dword [esp + 0x3efc], ebp
mov dword [esp + 0x28], ebp
cmp dword [edi + 0x1d4], 0
jne case.0x4683a4.0
push ebx
lea eax, [esp + 0x11c]
push ebp
push eax
call fcn.00466b40
add esp, 0xc
mov edi, dword [esp + 0x10]
jmp 0x4682a6
push esi
call fcn.0046aef0
mov ecx, eax
add esp, 4
xor eax, eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x44], eax
cmp ecx, 6
jbe 0x469af6
lea edi, [eax + 6]
push eax
push esi
call fcn.0046af50
add ebp, eax
lea eax, [edi - 5]
push eax
push esi
mov dword [esp + 0x3f0c], ebp
call fcn.0046af50
add ebx, eax
lea eax, [esp + 0x128]
push ebx
push ebp
push eax
mov dword [esp + 0x3f1c], ebx
call fcn.00466950
mov eax, dword [esp + 0x60]
add edi, 2
mov ecx, dword [esp + 0x48]
add eax, 2
add esp, 0x1c
mov dword [esp + 0x44], eax
cmp edi, ecx
jb 0x469aa3
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], ebp
cmp eax, ecx
jae 0x469ee6
lea ecx, [eax + 2]
mov dword [esp + 0x34], ecx
lea eax, [ecx - 2]
push eax
push esi
call fcn.0046af50
mov ecx, dword [esp + 0x3c]
dec ecx
push ecx
lea edi, [eax + ebp]
push esi
mov dword [esp + 0x4c], edi
call fcn.0046af50
push dword [esp + 0x44]
push esi
lea ebp, [ebx + eax]
call fcn.0046af50
mov ecx, dword [esp + 0x4c]
inc ecx
push ecx
push esi
lea ebx, [edi + eax]
call fcn.0046af50
mov ecx, dword [esp + 0x54]
add ecx, 2
push ecx
push esi
lea edi, [eax + ebp]
call fcn.0046af50
add eax, ebx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x5c]
add eax, 3
push eax
push esi
call fcn.0046af50
add eax, edi
push eax
push dword [esp + 0x5c]
mov dword [esp + 0x58], eax
lea eax, [esp + 0x150]
push edi
push ebx
push ebp
push dword [esp + 0x80]
push eax
call fcn.00466360
mov ecx, dword [esp + 0x80]
add esp, 0x4c
mov ebp, dword [esp + 0x28]
add ecx, 6
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x3efc], ebp
mov dword [esp + 0x3f00], ebx
lea eax, [ecx - 2]
mov dword [esp + 0x34], ecx
cmp eax, dword [esp + 0x2c]
jb 0x469b05
push esi
call fcn.0046aee0
mov edi, dword [esp + 0x14]
add esp, 4
jmp 0x4682af
push esi
call fcn.0046aef0
mov edi, eax
add esp, 4
and eax, 0xfffffffd
sub edi, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x30], edi
cmp edi, eax
jae 0x469ee6
nop dword [eax + eax]
sub eax, edi
test al, 1
je 0x469c0d
push edi
push esi
call fcn.0046af50
add eax, ebp
add esp, 8
inc edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edi
jmp 0x469c11
mov dword [esp + 0x2c], ebp
push edi
push esi
call fcn.0046af50
lea ecx, [edi + 1]
mov ebx, eax
add ebx, dword [esp + 0x28]
push ecx
push esi
call fcn.0046af50
mov ebp, eax
lea eax, [edi + 2]
add ebp, dword [esp + 0x3c]
push eax
push esi
call fcn.0046af50
mov ecx, dword [esp + 0x48]
add ecx, 3
push ecx
push esi
lea edi, [ebx + eax]
call fcn.0046af50
add eax, edi
push eax
push ebp
push edi
push ebp
push ebx
push dword [esp + 0x60]
mov dword [esp + 0x58], eax
lea eax, [esp + 0x150]
push eax
call fcn.00466360
mov edi, dword [esp + 0x6c]
add esp, 0x3c
mov eax, dword [esp + 0x3c]
add edi, 4
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x3efc], ebp
mov dword [esp + 0x3f00], ebx
mov dword [esp + 0x30], edi
cmp edi, eax
jb 0x469bf0
push esi
mov dword [esp + 0x2c], ebp
call fcn.0046aee0
mov edi, dword [esp + 0x14]
add esp, 4
jmp 0x4682af
push esi
call fcn.0046aef0
mov edi, eax
add esp, 4
and eax, 0xfffffffd
sub edi, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x30], edi
cmp edi, eax
jae 0x469ee6
sub eax, edi
test al, 1
je 0x469ce4
push edi
push esi
call fcn.0046af50
add eax, ebx
add esp, 8
inc edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edi
jmp 0x469ce8
mov dword [esp + 0x2c], ebx
push edi
push esi
call fcn.0046af50
lea ecx, [edi + 1]
push ecx
push esi
lea ebx, [eax + ebp]
call fcn.0046af50
mov ebp, dword [esp + 0x40]
lea edi, [ebx + eax]
lea ecx, [ebp + 2]
push ecx
push esi
call fcn.0046af50
add eax, dword [esp + 0x44]
mov dword [esp + 0x38], eax
lea eax, [ebp + 3]
push eax
push esi
call fcn.0046af50
lea ebp, [edi + eax]
mov eax, dword [esp + 0x40]
push eax
push ebp
push eax
push edi
push dword [esp + 0x5c]
lea eax, [esp + 0x14c]
push ebx
push eax
call fcn.00466360
mov edi, dword [esp + 0x6c]
add esp, 0x3c
mov eax, dword [esp + 0x3c]
add edi, 4
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x3efc], ebp
mov dword [esp + 0x3f00], ebx
mov dword [esp + 0x30], edi
cmp edi, eax
jb 0x469cc7
push esi
mov dword [esp + 0x2c], ebp
call fcn.0046aee0
mov edi, dword [esp + 0x14]
add esp, 4
jmp 0x4682af
push esi
call fcn.0046aef0
add esp, 4
mov edi, eax
cmp dl, 0x1f
mov edx, edi
sete cl
and edx, 0xfffffffd
sub edi, edx
mov dword [esp + 0x3c], edx
cmp edi, edx
jae 0x469ee6
sub edx, edi
lea eax, [edi + 1]
mov dword [esp + 0x34], eax
mov dword [esp + 0x44], edx
push edi
push esi
test cl, cl
je 0x469e2f
call fcn.0046af50
push dword [esp + 0x3c]
add eax, ebp
mov dword [esp + 0x38], ebx
push esi
mov dword [esp + 0x30], eax
call fcn.0046af50
mov ebp, eax
lea eax, [edi + 2]
add ebp, dword [esp + 0x30]
push eax
push esi
mov dword [esp + 0x40], ebp
call fcn.0046af50
add eax, ebx
mov dword [esp + 0x48], eax
lea eax, [edi + 3]
push eax
push esi
call fcn.0046af50
mov ebx, eax
add esp, 0x20
add ebx, dword [esp + 0x30]
cmp dword [esp + 0x44], 5
jne 0x469e23
lea eax, [edi + 4]
push eax
push esi
call fcn.0046af50
mov edi, dword [esp + 0x3c]
mov ebp, eax
mov eax, dword [esp + 0x30]
add esp, 8
add ebp, eax
xor cl, cl
mov byte [esp + 0x27], cl
jmp 0x469e9e
mov eax, dword [esp + 0x28]
xor cl, cl
mov byte [esp + 0x27], cl
jmp 0x469e9e
mov dword [esp + 0x28], ebp
call fcn.0046af50
push dword [esp + 0x3c]
add eax, ebx
push esi
mov dword [esp + 0x3c], eax
call fcn.0046af50
lea ebx, [eax + ebp]
lea eax, [edi + 2]
mov dword [esp + 0x38], ebx
push eax
push esi
call fcn.0046af50
add eax, dword [esp + 0x44]
mov dword [esp + 0x48], eax
lea eax, [edi + 3]
push eax
push esi
call fcn.0046af50
add esp, 0x20
cmp dword [esp + 0x44], 5
lea ebp, [ebx + eax]
jne 0x469e91
lea eax, [edi + 4]
push eax
push esi
call fcn.0046af50
mov edi, dword [esp + 0x3c]
mov ebx, eax
add esp, 8
add ebx, dword [esp + 0x30]
jmp 0x469e95
mov ebx, dword [esp + 0x30]
mov eax, dword [esp + 0x28]
mov byte [esp + 0x27], 1
push ebx
push ebp
push dword [esp + 0x38]
push eax
push dword [esp + 0x3c]
lea eax, [esp + 0x12c]
push dword [esp + 0x34]
push eax
call fcn.00466360
mov edx, dword [esp + 0x58]
add edi, 4
mov cl, byte [esp + 0x43]
add esp, 0x1c
mov dword [esp + 0x3efc], ebp
mov dword [esp + 0x3f00], ebx
cmp edi, edx
jb 0x469da2
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], ebp
push esi
call fcn.0046aee0
mov edi, dword [esp + 0x14]
add esp, 4
jmp 0x4682af
push dword [esp + 0x14]
call fcn.00464810
push dword [esp + 0x18]
mov edi, eax
call fcn.00464810
movsx ecx, ax
shl edi, 8
movsx eax, di
or ecx, eax
push ecx
push esi
call fcn.0046b1a0
mov edi, dword [esp + 0x20]
add esp, 0x10
jmp 0x4682af
cmp dl, 0xf6
ja 0x469f48
lea eax, [edi - 0x8b]
push eax
push esi
call fcn.0046b1a0
mov edi, dword [esp + 0x18]
add esp, 8
jmp 0x4682af
cmp dl, 0xfa
ja 0x469f74
push dword [esp + 0x14]
call fcn.00464810
shl edi, 8
add edi, 0xffff096c
add eax, edi
push eax
push esi
call fcn.0046b1a0
mov edi, dword [esp + 0x1c]
add esp, 0xc
jmp 0x4682af
cmp dl, 0xfe
ja 0x469fa1
push dword [esp + 0x14]
call fcn.00464810
shl edi, 8
mov ecx, 0xfa94
sub ecx, edi
sub ecx, eax
push ecx
push esi
call fcn.0046b1a0
mov edi, dword [esp + 0x1c]
add esp, 0xc
jmp 0x4682af
mov edi, dword [esp + 0x14]
push edi
call fcn.00464810
push edi
mov ebp, eax
call fcn.00464810
push edi
mov ebx, eax
call fcn.00464810
push dword [esp + 0x20]
mov edi, eax
call fcn.00464810
shl ebp, 8
mov ecx, eax
mov eax, dword [esp + 0x50]
or ebp, ebx
shl ebp, 8
add esp, 0x10
or ebp, edi
shl ebp, 8
or ecx, ebp
cmp byte [eax + 8], 0
je 0x46a024
cmp ecx, 0x7d00
jg 0x469ff4
cmp ecx, 0xffff8300
jge 0x46a009
mov edx, dword [esp + 0x58]
test dl, dl
movzx eax, dl
mov edx, 1
cmove eax, edx
mov byte [esp + 0x58], al
push ecx
push esi
call fcn.0046b1a0
mov ebp, dword [esp + 0x30]
add esp, 8
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
jmp 0x4682af
push ecx
push esi
call fcn.0046b150
mov ebp, dword [esp + 0x30]
add esp, 8
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
jmp 0x4682af
mov eax, 0x12
jmp 0x46a2dc
push dword [ecx + 0xc]
call fcn.00402603
lea eax, [esp + 0x3e3c]
push eax
push ebp
push dword [esp + 0x28]
call fcn.00465aa0
add esp, 0x10
test eax, eax
jne 0x46a2dc
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x20]
mov ebp, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x54], eax
mov eax, dword [ecx + 0x24]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x7c]
push eax
push 0
push 0
push 1
push dword [esp + 0x78]
lea eax, [esp + 0x3e4c]
mov dword [esp + 0x74], ecx
push dword [esp + 0x84]
push eax
push dword [esp + 0x5c]
call fcn.004680a0
lea eax, [esp + 0x3e58]
push eax
push dword [esp + 0x40]
call fcn.00465510
mov edx, dword [esp + 0x44]
add esp, 0x28
cmp byte [esp + 0x1a], 0
jne 0x46a0f0
mov eax, dword [edx + 0x20]
mov ebp, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x54], eax
mov eax, dword [edx + 0x24]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x2c], eax
mov eax, dword [edx + 0x20]
mov dword [eax], 0
mov eax, dword [edx + 0x20]
mov dword [eax + 4], 0
lea eax, [esp + 0x3e38]
push eax
push edi
push edx
call fcn.00465aa0
add esp, 0xc
test eax, eax
jne 0x46a2dc
sub ebx, dword [esp + 0x64]
lea eax, [esp + 0x7c]
push eax
push dword [esp + 0x48]
lea eax, [esp + 0x3e40]
push ebx
push 1
push dword [esp + 0x78]
push dword [esp + 0x84]
push eax
push dword [esp + 0x5c]
call fcn.004680a0
mov ebx, dword [esp + 0x3c]
lea eax, [esp + 0x3e58]
push eax
push ebx
call fcn.00465510
mov eax, dword [ebx + 0x20]
add esp, 0x28
mov ecx, dword [esp + 0x54]
mov dword [eax], ebp
mov dword [eax + 4], ecx
mov eax, dword [ebx + 0x24]
mov ecx, dword [esp + 0x60]
mov dword [eax], ecx
mov ecx, dword [esp + 0x2c]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x38]
jmp 0x46a2dc
push esi
call fcn.0046aef0
add esp, 4
cmp eax, 1
je 0x46a19f
push esi
call fcn.0046aef0
add esp, 4
cmp eax, 5
jne 0x46a1bb
cmp byte [esp + 0x1a], 0
jne 0x46a1bb
push 0
push esi
call fcn.0046af50
mov ecx, dword [esp + 0x54]
add esp, 8
add eax, dword [esp + 0x78]
mov dword [ecx], eax
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0x224], 0
jne 0x468c6c
lea eax, [esp + 0x118]
push eax
call fcn.00465bb0
mov eax, dword [esp + 0x44]
add esp, 4
cmp byte [eax + 9], 0
jne 0x468c6c
cmp byte [eax + 8], 0
jne 0x468c6c
push esi
call fcn.0046aef0
add esp, 4
cmp eax, 1
jbe 0x468c6c
cmp byte [esp + 0x3ef8], 0
jne 0x46a03f
push esi
call fcn.0046b0f0
push esi
mov edx, eax
call fcn.0046b0f0
push esi
mov edi, eax
call fcn.0046b090
push esi
mov ebx, eax
call fcn.0046b090
mov ebp, eax
lea eax, [esp + 0x3e48]
push eax
push edx
push dword [esp + 0x34]
call fcn.004659a0
add esp, 0x1c
test eax, eax
jne 0x46a2dc
lea eax, [esp + 0x74]
push eax
push ebx
push ebp
mov ebp, dword [esp + 0x4c]
lea eax, [esp + 0x3e44]
push 1
push dword [esp + 0x78]
push dword [esp + 0x84]
push eax
push ebp
call fcn.004680a0
mov ebx, dword [esp + 0x3c]
lea eax, [esp + 0x3e58]
push eax
push ebx
call fcn.004654e0
lea eax, [esp + 0x3e60]
push eax
push edi
push ebx
call fcn.004659a0
add esp, 0x34
test eax, eax
jne 0x46a2dc
lea eax, [esp + 0x74]
push eax
push 0
push 0
push 1
push dword [esp + 0x78]
lea eax, [esp + 0x3e4c]
push dword [esp + 0x84]
push eax
push ebp
call fcn.004680a0
lea eax, [esp + 0x3e58]
push eax
push ebx
call fcn.004654e0
mov eax, dword [esp + 0x60]
add esp, 0x28
jmp 0x46a2dc
xor eax, eax
push eax
push dword [esp + 0x60]
call fcn.0046ae90
lea eax, [esp + 0x120]
push eax
call fcn.004665c0
lea eax, [esp + 0x98]
push eax
call fcn.00463cf0
lea eax, [esp + 0xb8]
push eax
call fcn.00463cf0
lea eax, [esp + 0xd8]
push eax
call fcn.00463cf0
push esi
call fcn.0046af10
mov ecx, dword [esp + 0x3efc]
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004018ca
add esp, 0x3ed4
ret