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

Disassembly:
sub esp, 0x2d4
mov eax, dword [0x6b66bc]
xor eax, esp
mov dword [esp + 0x2d0], eax
mov eax, dword [esp + 0x2d8]
mov ecx, dword [0x757724]
mov dword [esp + 0x54], eax
mov eax, dword fs:[0x2c]
push ebx
push esi
push edi
mov esi, dword [eax + ecx*4]
mov eax, dword [0x6e11e0]
mov edi, dword [esp + 0x2e8]
cmp eax, dword [esi + 8]
jg 0x442471
mov eax, dword [0x6e11f0]
cmp eax, dword [esi + 8]
jg 0x4424ba
lea eax, [esp + 0xd0]
push edi
push eax
call fcn.0044d550
add esp, 8
call fcn.0043fab0
mov esi, eax
mov ecx, esi
call fcn.00447c30
lea eax, [esp + 0xd0]
mov ecx, esi
push eax
lea eax, [esp + 0x20c]
push eax
call fcn.00442b60
mov esi, dword [esp + 0x20c]
mov ebx, dword [eax]
test esi, esi
je 0x440700
or edi, 0xffffffff
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x440700
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x440700
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax + 4]
test ebx, ebx
je 0x4407ac
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0xd4]
mov edi, dword [esp + 0xd0]
mov dword [esp + 0x210], esi
mov dword [ebx], 0
mov dword [ebx + 4], esi
test esi, esi
jne 0x440733
mov dword [ebx + 8], esi
jmp 0x440753
push 0
push esi
mov ecx, ebx
call fcn.0040cd80
lea eax, [esi + esi]
push eax
push edi
push dword [ebx]
call fcn.005f7171
mov edi, dword [esp + 0xdc]
add esp, 0xc
test edi, edi
je 0x440792
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x44078c
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
push edi
mov edx, dword [ecx]
call dword [edx + 0x18]
pop edi
pop esi
mov eax, ebx
pop ebx
mov ecx, dword [esp + 0x2d0]
xor ecx, esp
call fcn.005f4480
add esp, 0x2d4
ret
mov eax, dword [ecx]
push edi
call dword [eax + 0x18]
pop edi
pop esi
mov eax, ebx
pop ebx
mov ecx, dword [esp + 0x2d0]
xor ecx, esp
call fcn.005f4480
add esp, 0x2d4
ret
mov ebx, dword [esp + 0xd0]
mov esi, ebx
mov edi, dword [esp + 0xd4]
mov dword [esp + 0x264], 0
mov dword [esp + 0x268], 0
mov dword [esp + 0x26c], 4
lea ecx, [esi + edi*2]
mov dword [esp + 0x2d0], 0
mov dword [esp + 0x2d4], 0
mov dword [esp + 0x2d8], 4
mov dword [esp + 0x20], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
cmp esi, ecx
je 0x44083d
nop
cmp word [esi], 0x40
je 0x440855
add esi, 2
cmp esi, ecx
jne 0x440830
or esi, 0xffffffff
mov eax, ebx
cmp eax, ecx
je 0x440864
cmp word [eax], 0x2e
je 0x44085b
add eax, 2
cmp eax, ecx
jne 0x440846
jmp 0x440864
sub esi, ebx
sar esi, 1
jmp 0x440840
sub eax, ebx
sar eax, 1
cmp eax, 0xffffffff
jne 0x44086f
test edi, edi
je 0x44086d
lea eax, [edi - 1]
jmp 0x44086f
xor eax, eax
cmp esi, 0xffffffff
jne 0x440881
test edi, edi
je 0x44087d
lea ecx, [edi - 1]
jmp 0x440883
xor ecx, ecx
jmp 0x440883
mov ecx, esi
cmp ecx, eax
cmovle eax, ecx
test edi, edi
je 0x44088f
dec edi
jmp 0x440896
mov ebx, 0x60f5ec
xor edi, edi
test eax, eax
jns 0x44089e
xor edi, edi
jmp 0x4408a3
cmp eax, edi
cmovl edi, eax
xor eax, eax
mov dword [esp + 0x54], 0
xor ecx, ecx
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], ecx
test ebx, ebx
je 0x440934
test edi, edi
jle 0x440934
cmp word [ebx], ax
je 0x440934
lea eax, [edi + 1]
push eax
lea ecx, [esp + 0x58]
call fcn.0040ce40
mov edx, dword [esp + 0x58]
lea eax, [edx + 1]
add eax, edi
mov dword [esp + 0x58], eax
cmp eax, dword [esp + 0x5c]
jle 0x4408ee
push edx
lea ecx, [esp + 0x58]
call fcn.0040cde0
lea eax, [edi + edi]
mov edi, dword [esp + 0x54]
push eax
push ebx
push edi
call fcn.004263f0
mov eax, dword [esp + 0x64]
xor ecx, ecx
add esp, 0xc
mov word [edi + eax*2 - 2], cx
mov ebx, dword [esp + 0x20]
test ebx, ebx
je 0x440938
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x440928
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push ebx
call dword [eax + 0x18]
mov eax, dword [esp + 0x58]
jmp 0x440938
mov edi, dword [esp + 0x54]
push 0
push 0x620da0
mov dword [esp + 0x2c], eax
lea ecx, [esp + 0x28]
mov eax, dword [esp + 0x64]
push 0x61dc74
mov dword [esp + 0x2c], edi
mov dword [esp + 0x60], 0
mov dword [esp + 0x34], eax
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
call fcn.00412320
cmp esi, 0xffffffff
je 0x440afd
mov edi, dword [esp + 0xd4]
inc esi
test edi, edi
je 0x44098f
lea eax, [edi - 1]
jmp 0x440991
xor eax, eax
test esi, esi
jns 0x440999
xor ecx, ecx
jmp 0x4409a0
cmp esi, eax
mov ecx, eax
cmovl ecx, esi
cdq
mov dword [esp + 0x1c], eax
mov eax, esi
mov dword [esp + 0x40], edx
cdq
mov esi, eax
mov ebx, edx
add esi, 0x7fffffff
mov eax, ecx
cdq
adc ebx, 0
cmp ebx, edx
jg 0x4409ca
jl 0x4409c6
cmp esi, eax
jae 0x4409ca
mov esi, ecx
jmp 0x4409f2
mov edx, dword [esp + 0x40]
cmp ebx, edx
jg 0x4409e5
jl 0x4409dc
mov eax, dword [esp + 0x1c]
cmp esi, eax
jae 0x4409e9
mov dword [esp + 0xfc], ebx
jmp 0x4409f2
mov eax, dword [esp + 0x1c]
mov esi, eax
mov dword [esp + 0xfc], edx
test edi, edi
mov eax, 0x60f5ec
cmovne eax, dword [esp + 0xd0]
xor ebx, ebx
xor edi, edi
mov dword [esp + 0x7c], ebx
sub esi, ecx
mov dword [esp + 0x80], edi
lea edx, [eax + ecx*2]
xor eax, eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x84], eax
test edx, edx
je 0x440aa0
test esi, esi
jle 0x440aa0
cmp word [edx], ax
je 0x440aa0
lea eax, [esi + 1]
push eax
lea ecx, [esp + 0x80]
call fcn.0040ce40
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x84]
mov dword [esp + 0x1c], eax
lea edi, [ecx + 1]
add edi, esi
mov dword [esp + 0x80], edi
cmp edi, eax
jle 0x440a84
push ecx
lea ecx, [esp + 0x80]
call fcn.0040cde0
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0x80]
mov dword [esp + 0x1c], eax
mov ebx, dword [esp + 0x7c]
lea eax, [esi + esi]
push eax
push dword [esp + 0x44]
push ebx
call fcn.004263f0
add esp, 0xc
xor eax, eax
mov word [ebx + edi*2 - 2], ax
mov esi, dword [esp + 0xec]
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
test esi, esi
je 0x440ae4
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x440ade
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push esi
call dword [eax + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xec], ebx
mov dword [esp + 0xf0], edi
mov dword [esp + 0xf4], eax
mov edi, dword [0x6e11d8]
xor esi, esi
mov eax, dword [0x6e11d4]
mov dword [esp + 0x40], eax
test edi, edi
jle 0x440e3a
mov ecx, edi
and ecx, 0x80000001
jns 0x440b25
dec ecx
or ecx, 0xfffffffe
inc ecx
mov eax, edi
cdq
sub eax, edx
mov edx, dword [esp + 0x40]
mov edi, eax
sar edi, 1
cmp dword [esp + 0x24], 0
lea eax, [edi + esi]
lea ebx, [eax + ecx]
mov ecx, 0x60f5ec
cmovne ecx, dword [esp + 0x20]
lea eax, [eax + eax*2]
cmp dword [edx + eax*8 + 4], 0
je 0x440b56
mov eax, dword [edx + eax*8]
jmp 0x440b5b
mov eax, 0x60f5ec
push ecx
push eax
call fcn.0042e8d0
add esp, 8
test eax, eax
cmovs esi, ebx
test edi, edi
jg 0x440b16
cmp esi, dword [0x6e11d8]
jge 0x440e3a
mov eax, dword [0x6e11d4]
lea edi, [esi + esi*2]
shl edi, 3
cmp dword [edi + eax + 4], 0
je 0x440b91
mov ecx, dword [edi + eax]
jmp 0x440b96
mov ecx, 0x60f5ec
cmp dword [esp + 0x24], 0
mov eax, 0x60f5ec
push ecx
cmovne eax, dword [esp + 0x24]
push eax
call fcn.0042e8d0
add esp, 8
test eax, eax
js 0x440e3a
cmp esi, 0xffffffff
je 0x440e3a
mov ecx, esi
mov dword [esp + 0x11c], esi
not ecx
xor eax, eax
shr ecx, 0x1f
cmp esi, dword [0x6e11d8]
cmovl eax, ecx
test eax, eax
jne 0x440c08
lea eax, [esp + 0x11c]
mov dword [esp + 0x1b4], 0x6e11d4
mov dword [esp + 0x1b0], eax
lea eax, [esp + 0x1b0]
push eax
call fcn.006090b0
add esp, 4
nop
int3
mov ebx, dword [0x6e11d4]
add ebx, edi
mov dword [esp + 0x18], ebx
lea edi, [ebx + 0xc]
test edi, edi
je 0x440e3a
mov edi, dword [edi]
cmp dword [esp + 0x20], edi
je 0x440c9a
test edi, edi
je 0x440c4a
cmp word [edi], 0
je 0x440c4a
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x440c36
sub ecx, edx
sar ecx, 1
lea esi, [ecx + 1]
jmp 0x440c4c
xor esi, esi
mov edx, dword [esp + 0x28]
xor eax, eax
mov dword [esp + 0x24], eax
cmp edx, esi
je 0x440c6c
push esi
lea ecx, [esp + 0x24]
call fcn.0040ce40
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
lea ecx, [esi + eax]
mov dword [esp + 0x24], ecx
cmp ecx, edx
jle 0x440c85
push eax
lea ecx, [esp + 0x24]
call fcn.0040cde0
mov ecx, dword [esp + 0x24]
test esi, esi
je 0x440c9e
lea eax, [esi + esi]
push eax
push edi
push dword [esp + 0x28]
call fcn.005f7171
add esp, 0xc
mov ecx, dword [esp + 0x24]
cmp dword [ebx + 0x10], 0
je 0x440e3e
mov esi, dword [ebx + 0x14]
test esi, esi
je 0x440e3e
xor edx, edx
mov dword [esp + 0xac], 0
xor ebx, ebx
mov dword [esp + 0xb0], edx
mov dword [esp + 0xb4], ebx
cmp word [esi], dx
je 0x440d40
mov ecx, esi
lea edi, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x440ce0
sub ecx, edi
sar ecx, 1
lea edi, [ecx + 1]
test edi, edi
jle 0x440d11
push edi
lea ecx, [esp + 0xb0]
call fcn.0040ce40
mov ebx, dword [esp + 0xb4]
mov edx, dword [esp + 0xb0]
lea eax, [edi + edx]
mov dword [esp + 0xb0], eax
cmp eax, ebx
jle 0x440d2c
push edx
lea ecx, [esp + 0xb0]
call fcn.0040cde0
lea eax, [edi + edi]
push eax
push esi
push dword [esp + 0xb4]
call fcn.004263f0
add esp, 0xc
mov esi, dword [esp + 0x18]
xor edx, edx
xor ebx, ebx
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], edx
mov dword [esp + 0xa8], ebx
mov esi, dword [esi + 0x10]
test esi, esi
je 0x440dd2
cmp word [esi], dx
je 0x440dd2
mov ecx, esi
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x440d72
sub ecx, edi
sar ecx, 1
lea edi, [ecx + 1]
test edi, edi
jle 0x440da3
push edi
lea ecx, [esp + 0xa4]
call fcn.0040ce40
mov ebx, dword [esp + 0xa8]
mov edx, dword [esp + 0xa4]
lea eax, [edi + edx]
mov dword [esp + 0xa4], eax
cmp eax, ebx
jle 0x440dbe
push edx
lea ecx, [esp + 0xa4]
call fcn.0040cde0
lea eax, [edi + edi]
push eax
push esi
push dword [esp + 0xa8]
call fcn.004263f0
add esp, 0xc
lea eax, [esp + 0xac]
push eax
lea eax, [esp + 0xa4]
push eax
lea ecx, [esp + 0x278]
call fcn.00431c40
mov esi, dword [esp + 0xa0]
test esi, esi
je 0x440e14
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x440e0e
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push esi
call dword [eax + 0x18]
mov esi, dword [esp + 0xac]
test esi, esi
je 0x440e3a
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x440e34
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push esi
call dword [eax + 0x18]
mov ecx, dword [esp + 0x24]
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x1c], esi
test ecx, ecx
je 0x440e4f
lea eax, [ecx - 1]
jmp 0x440e51
xor eax, eax
cmp esi, eax
jge 0x440eb5
mov edx, esi
mov dword [esp + 0xe8], edx
test esi, esi
js 0x440e71
test ecx, ecx
je 0x440e6b
lea eax, [ecx - 1]
jmp 0x440e6d
xor eax, eax
cmp esi, eax
jl 0x440ea7
lea eax, [esp + 0xe8]
mov dword [esp + 0x1a8], eax
lea eax, [esp + 0x20]
mov dword [esp + 0x1ac], eax
lea eax, [esp + 0x1a8]
push eax
call fcn.00609170
add esp, 4
nop
int3
mov eax, dword [esp + 0x20]
cmp word [eax + edx*2], 0x2d
je 0x440eb5
inc esi
jmp 0x440e42
mov edi, esi
mov dword [esp + 0x2c], 0
sub edi, ebx
mov esi, 0
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], esi
js 0x44100d
test ecx, ecx
je 0x440edd
lea eax, [ecx - 1]
jmp 0x440edf
xor eax, eax
test ebx, ebx
jns 0x440ee7
xor esi, esi
jmp 0x440eee
cmp ebx, eax
mov esi, eax
cmovl esi, ebx
cdq
mov dword [esp + 0x18], eax
mov eax, edi
mov dword [esp + 0x38], edx
cdq
mov edi, eax
mov dword [esp + 0x9c], edx
mov eax, ebx
mov ebx, dword [esp + 0x9c]
cdq
add edi, eax
mov eax, esi
adc ebx, edx
cdq
cmp ebx, edx
jg 0x440f22
jl 0x440f1e
cmp edi, eax
jae 0x440f22
mov edi, esi
jmp 0x440f44
mov edx, dword [esp + 0x38]
cmp ebx, edx
jg 0x440f3a
jl 0x440f34
mov eax, dword [esp + 0x18]
cmp edi, eax
jae 0x440f3e
mov dword [esp + 0x3c], ebx
jmp 0x440f44
mov eax, dword [esp + 0x18]
mov edi, eax
mov dword [esp + 0x3c], edx
test ecx, ecx
mov eax, 0x60f5ec
cmovne eax, dword [esp + 0x20]
sub edi, esi
xor ebx, ebx
mov dword [esp + 0x70], ebx
lea ecx, [eax + esi*2]
xor esi, esi
xor eax, eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], eax
test ecx, ecx
je 0x440fe9
test edi, edi
jle 0x440fe9
cmp word [ecx], ax
je 0x440fe9
lea eax, [edi + 1]
push eax
lea ecx, [esp + 0x74]
call fcn.0040ce40
mov eax, dword [esp + 0x74]
lea esi, [eax + 1]
add esi, edi
mov dword [esp + 0x74], esi
cmp esi, dword [esp + 0x78]
jle 0x440fa6
push eax
lea ecx, [esp + 0x74]
call fcn.0040cde0
mov esi, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
lea eax, [edi + edi]
push eax
push dword [esp + 0x3c]
push ebx
call fcn.004263f0
xor eax, eax
add esp, 0xc
mov word [ebx + esi*2 - 2], ax
mov edi, dword [esp + 0x2c]
test edi, edi
je 0x440fe5
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x440fdf
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push edi
call dword [eax + 0x18]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x70], 0
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], eax
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov edi, dword [esp + 0x268]
mov byte [esp + 0x45], 3
test edi, edi
jne 0x441043
test esi, esi
je 0x44121c
cmp esi, 3
je 0x441033
cmp esi, 4
jne 0x44121c
lea ecx, [esp + 0x2c]
xor bl, bl
call fcn.004137f0
jmp 0x4414c2
mov ebx, dword [esp + 0x264]
cmp edi, 1
jne 0x441110
test ebx, ebx
mov dword [esp + 0x220], 0
lea eax, [esp + 0x224]
cmovne eax, ebx
cmp byte [eax + 0xc], 0
jne 0x441110
test esi, esi
je 0x441110
cmp esi, 5
jne 0x441110
lea ecx, [esp + 0x2c]
mov bl, 1
call fcn.004137f0
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x441659
lea eax, [ecx - 1]
test eax, eax
jle 0x4414c6
mov edx, dword [esp + 0x2c]
xor eax, eax
xor edi, edi
mov dword [esp + 0x21c], eax
mov dword [esp + 0x40], edi
movzx esi, word [edx + eax*2]
test ecx, ecx
je 0x4410c9
lea eax, [ecx - 1]
test eax, eax
jg 0x4410f9
lea eax, [esp + 0x40]
mov dword [esp + 0x1a0], eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x1a4], eax
lea eax, [esp + 0x1a0]
push eax
call fcn.00609170
add esp, 4
nop
int3
lea eax, [esi - 0x61]
cmp eax, 0x1a
sbb eax, eax
and eax, 0x20
sub si, ax
mov word [edx + edi*2], si
jmp 0x4414c2
lea edx, [edi - 1]
cmp edx, 1
ja 0x44121c
mov ecx, edx
mov dword [esp + 0x120], edx
not ecx
xor eax, eax
shr ecx, 0x1f
cmp edx, edi
cmovl eax, ecx
test eax, eax
jne 0x441175
lea eax, [esp + 0x120]
mov dword [esp + 0x1d0], eax
lea eax, [esp + 0x224]
mov dword [esp + 0x1d4], eax
lea eax, [esp + 0x1d0]
push eax
call fcn.0060ab50
add esp, 4
nop
int3
test ebx, ebx
lea ecx, [esp + 0x224]
mov eax, edi
cmovne ecx, ebx
add eax, eax
cmp byte [ecx + eax*8 - 4], 0
je 0x4411fd
lea edx, [edi - 1]
xor eax, eax
mov ecx, edx
mov dword [esp + 0x124], edx
not ecx
shr ecx, 0x1f
cmp edx, edi
cmovl eax, ecx
test eax, eax
jne 0x4411e8
lea eax, [esp + 0x124]
mov dword [esp + 0x1c0], eax
lea eax, [esp + 0x224]
mov dword [esp + 0x1c4], eax
lea eax, [esp + 0x1c0]
push eax
call fcn.0060ab50
add esp, 4
nop
int3
test ebx, ebx
lea eax, [esp + 0x224]
cmovne eax, ebx
add edi, edi
cmp byte [eax + edi*8 - 4], 1
jne 0x44121c
test esi, esi
je 0x44121c
dec esi
cmp esi, 2
je 0x44120c
cmp esi, 3
jne 0x44121c
lea ecx, [esp + 0x2c]
mov bl, 2
call fcn.00413990
jmp 0x4414c2
lea ecx, [esp + 0x2c]
call fcn.00413990
mov edi, dword [0x6e11e8]
xor esi, esi
mov eax, dword [0x6e11e4]
mov dword [esp + 0x38], eax
test edi, edi
jle 0x4414be
nop
mov ecx, edi
and ecx, 0x80000001
jns 0x44124f
dec ecx
or ecx, 0xfffffffe
inc ecx
mov eax, edi
cdq
sub eax, edx
mov edx, dword [esp + 0x38]
mov edi, eax
sar edi, 1
cmp dword [esp + 0x30], 0
lea eax, [edi + esi]
lea ebx, [eax + ecx]
mov ecx, 0x60f5ec
cmovne ecx, dword [esp + 0x2c]
lea eax, [eax + eax*2]
cmp dword [edx + eax*8 + 4], 0
je 0x441280
mov eax, dword [edx + eax*8]
jmp 0x441285
mov eax, 0x60f5ec
push ecx
push eax
call fcn.0042e8d0
add esp, 8
test eax, eax
cmovs esi, ebx
test edi, edi
jg 0x441240
cmp esi, dword [0x6e11e8]
jge 0x4414be
mov eax, dword [0x6e11e4]
lea edi, [esi + esi*2]
shl edi, 3
cmp dword [edi + eax + 4], 0
je 0x4412bb
mov ecx, dword [edi + eax]
jmp 0x4412c0
mov ecx, 0x60f5ec
cmp dword [esp + 0x30], 0
mov eax, 0x60f5ec
push ecx
cmovne eax, dword [esp + 0x30]
push eax
call fcn.0042e8d0
add esp, 8
test eax, eax
js 0x4414be
cmp esi, 0xffffffff
je 0x4414be
mov ecx, esi
mov dword [esp + 0x128], esi
not ecx
xor eax, eax
shr ecx, 0x1f
cmp esi, dword [0x6e11e8]
cmovl eax, ecx
test eax, eax
jne 0x441332
lea eax, [esp + 0x128]
mov dword [esp + 0x1cc], 0x6e11e4
mov dword [esp + 0x1c8], eax
lea eax, [esp + 0x1c8]
push eax
call fcn.006090b0
add esp, 4
nop
int3
mov esi, dword [0x6e11e4]
add esi, edi
lea eax, [esi + 0xc]
test eax, eax
je 0x4414be
cmp dword [esi + 0x10], 0
je 0x441351
cmp dword [esi + 0x14], 0
jne 0x441358
call fcn.0060b1b0
nop
int3
mov edi, dword [esi + 0x14]
xor edx, edx
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], edx
mov dword [esp + 0xc0], edx
test edi, edi
je 0x4413e2
cmp word [edi], dx
je 0x4413e2
mov ecx, edi
lea ebx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x441384
sub ecx, ebx
sar ecx, 1
lea ebx, [ecx + 1]
test ebx, ebx
jle 0x4413ae
push ebx
lea ecx, [esp + 0xbc]
call fcn.0040ce40
mov edx, dword [esp + 0xbc]
lea eax, [ebx + edx]
mov dword [esp + 0xbc], eax
cmp eax, dword [esp + 0xc0]
jle 0x4413ce
push edx
lea ecx, [esp + 0xbc]
call fcn.0040cde0
lea eax, [ebx + ebx]
push eax
push edi
push dword [esp + 0xc0]
call fcn.004263f0
add esp, 0xc
mov esi, dword [esi + 0x10]
xor edx, edx
xor ebx, ebx
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], edx
mov dword [esp + 0xcc], ebx
test esi, esi
je 0x441470
cmp word [esi], dx
je 0x441470
mov ecx, esi
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x441410
sub ecx, edi
sar ecx, 1
lea edi, [ecx + 1]
test edi, edi
jle 0x441441
push edi
lea ecx, [esp + 0xc8]
call fcn.0040ce40
mov ebx, dword [esp + 0xcc]
mov edx, dword [esp + 0xc8]
lea eax, [edi + edx]
mov dword [esp + 0xc8], eax
cmp eax, ebx
jle 0x44145c
push edx
lea ecx, [esp + 0xc8]
call fcn.0040cde0
lea eax, [edi + edi]
push eax
push esi
push dword [esp + 0xcc]
call fcn.004263f0
add esp, 0xc
lea eax, [esp + 0xb8]
push eax
lea eax, [esp + 0xc8]
push eax
lea ecx, [esp + 0x278]
call fcn.00431c40
mov esi, dword [esp + 0xc4]
test esi, esi
je 0x4414b2
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x4414ac
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push esi
call dword [eax + 0x18]
mov esi, dword [esp + 0xb8]
jmp 0x44163a
mov bl, byte [esp + 0x45]
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x441659
lea eax, [ecx - 1]
test eax, eax
jle 0x441659
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x224]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x264]
test ecx, ecx
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x34]
cmovne edx, ecx
mov dword [esp + 0x94], eax
lea eax, [esp + 0x8c]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov byte [esp + 0x98], bl
mov dword [esp + 0x12c], eax
cmp eax, edx
jb 0x441586
mov eax, dword [esp + 0x26c]
shl eax, 4
add eax, edx
lea edx, [esp + 0x8c]
cmp edx, eax
jae 0x441586
lea eax, [esp + 0x12c]
mov dword [esp + 0x1d8], eax
lea eax, [esp + 0x224]
mov dword [esp + 0x1dc], eax
lea eax, [esp + 0x1d8]
push eax
call fcn.0060a8b0
add esp, 4
nop
int3
mov edi, dword [esp + 0x268]
lea eax, [edi + 1]
mov dword [esp + 0x268], eax
cmp eax, dword [esp + 0x26c]
jle 0x4415b4
push edi
lea ecx, [esp + 0x228]
call fcn.0044cb20
mov ecx, dword [esp + 0x264]
test ecx, ecx
lea esi, [esp + 0x224]
cmovne esi, ecx
shl edi, 4
add esi, edi
mov dword [esi], 0
mov eax, dword [esp + 0x8c]
mov dword [esi], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x8c], 0
mov dword [esi + 4], eax
mov eax, dword [esp + 0x94]
mov dword [esi + 8], eax
mov eax, dword [esi + 4]
cmp eax, dword [esp + 0x90]
je 0x441613
lea eax, [esp + 0x46]
mov byte [esp + 0x46], 0
push eax
call fcn.00609010
add esp, 4
nop
int3
mov al, byte [esp + 0x98]
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov byte [esi + 0xc], al
mov esi, dword [esp + 0x8c]
test esi, esi
je 0x441659
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x441653
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push esi
call dword [eax + 0x18]
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x44167c
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x441676
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push esi
call dword [eax + 0x18]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
inc ebx
mov esi, ebx
mov dword [esp + 0x1c], esi
test ecx, ecx
je 0x441694
lea eax, [ecx - 1]
jmp 0x441696
xor eax, eax
cmp ebx, eax
jl 0x440e46
push 1
push 0x61dbd4
lea eax, [esp + 0x108]
mov dword [esp + 0x108], 0
push eax
lea ecx, [esp + 0xf8]
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0
call fcn.00410df0
mov eax, dword [esp + 0x104]
mov ebx, dword [esp + 0x100]
mov dword [esp + 0x1c], ebx
lea eax, [eax + eax*2]
lea eax, [ebx + eax*4]
mov dword [esp + 0x9c], eax
cmp ebx, eax
je 0x441c65
mov edx, dword [ebx]
mov esi, edx
mov edi, dword [ebx + 4]
lea eax, [edx + edi*2]
cmp edx, eax
je 0x441721
nop
cmp word [esi], 0x3d
je 0x44186a
add esi, 2
cmp esi, eax
jne 0x441710
or esi, 0xffffffff
cmp esi, 0xffffffff
jne 0x441873
mov ecx, ebx
call fcn.00413990
mov edx, dword [ebx + 4]
mov ecx, edx
neg ecx
sbb ecx, ecx
lea eax, [edx - 1]
test eax, ecx
jle 0x441c51
mov eax, dword [ebx]
lea ecx, [esp + 0x224]
mov dword [ebx], 0
mov dword [esp + 0x10c], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x110], edx
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov edx, dword [esp + 0x264]
test edx, edx
mov dword [esp + 0x114], eax
lea eax, [esp + 0x10c]
cmovne ecx, edx
mov byte [esp + 0x118], 3
mov dword [esp + 0x130], eax
cmp eax, ecx
jb 0x4417ef
mov eax, dword [esp + 0x26c]
shl eax, 4
add eax, ecx
lea ecx, [esp + 0x10c]
cmp ecx, eax
jae 0x4417ef
lea eax, [esp + 0x130]
mov dword [esp + 0x198], eax
lea eax, [esp + 0x224]
mov dword [esp + 0x19c], eax
lea eax, [esp + 0x198]
push eax
call fcn.0060a8b0
add esp, 4
nop
int3
mov esi, dword [esp + 0x268]
lea eax, [esi + 1]
mov dword [esp + 0x268], eax
cmp eax, dword [esp + 0x26c]
jle 0x44181d
push esi
lea ecx, [esp + 0x228]
call fcn.0044cb20
mov edx, dword [esp + 0x264]
test edx, edx
lea ecx, [esp + 0x224]
lea eax, [esp + 0x10c]
cmovne ecx, edx
shl esi, 4
push eax
add ecx, esi
call fcn.004345f0
mov esi, dword [esp + 0x10c]
test esi, esi
je 0x441c51
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x44185f
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push esi
call dword [eax + 0x18]
jmp 0x441c51
sub esi, edx
sar esi, 1
jmp 0x441724
test edi, edi
lea eax, [edi - 1]
mov ecx, 0x60f5ec
cmovne ecx, edx
neg edi
mov dword [esp + 0x38], ecx
sbb edi, edi
and edi, eax
test esi, esi
jns 0x441892
xor edi, edi
jmp 0x441897
cmp esi, edi
cmovl edi, esi
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
test ecx, ecx
je 0x44190a
test edi, edi
jle 0x44190a
cmp word [ecx], 0
je 0x44190a
lea eax, [edi + 1]
push eax
lea ecx, [esp + 0x4c]
call fcn.0040ce40
mov ecx, dword [esp + 0x4c]
lea eax, [ecx + 1]
add eax, edi
mov dword [esp + 0x4c], eax
cmp eax, dword [esp + 0x50]
jle 0x4418e7
push ecx
lea ecx, [esp + 0x4c]
call fcn.0040cde0
lea eax, [edi + edi]
push eax
push dword [esp + 0x3c]
push dword [esp + 0x50]
call fcn.004263f0
mov ecx, dword [esp + 0x58]
add esp, 0xc
mov eax, dword [esp + 0x48]
xor edx, edx
mov word [eax + ecx*2 - 2], dx
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x8f]
call fcn.00437940
mov eax, dword [ebx + 4]
lea edi, [esi + 1]
mov ecx, eax
mov dword [esp + 0xdc], 0
dec eax
mov dword [esp + 0xe0], 0
neg ecx
mov dword [esp + 0xe4], 0
sbb ecx, ecx
and ecx, eax
test edi, edi
jns 0x441953
xor esi, esi
jmp 0x44195a
cmp edi, ecx
mov esi, ecx
cmovl esi, edi
mov eax, ecx
cdq
mov dword [esp + 0x18], eax
mov eax, edi
mov dword [esp + 0x38], edx
cdq
mov edi, eax
mov ecx, edx
add edi, 0x7fffffff
mov eax, esi
cdq
adc ecx, 0
cmp ecx, edx
jg 0x441986
jl 0x441982
cmp edi, eax
jae 0x441986
mov edi, esi
jmp 0x4419a8
mov edx, dword [esp + 0x38]
cmp ecx, edx
jg 0x44199e
jl 0x441998
mov eax, dword [esp + 0x18]
cmp edi, eax
jae 0x4419a2
mov dword [esp + 0x3c], ecx
jmp 0x4419a8
mov eax, dword [esp + 0x18]
mov edi, eax
mov dword [esp + 0x3c], edx
cmp dword [ebx + 4], 0
je 0x4419b2
mov eax, dword [ebx]
jmp 0x4419b7
mov eax, 0x60f5ec
lea ecx, [eax + esi*2]
sub edi, esi
xor esi, esi
mov dword [esp + 0x38], ecx
xor ebx, ebx
mov dword [esp + 0x64], esi
xor eax, eax
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], eax
test ecx, ecx
je 0x441a57
test edi, edi
jle 0x441a57
cmp word [ecx], ax
je 0x441a57
lea eax, [edi + 1]
push eax
lea ecx, [esp + 0x68]
call fcn.0040ce40
mov eax, dword [esp + 0x68]
lea ebx, [eax + 1]
add ebx, edi
mov dword [esp + 0x68], ebx
cmp ebx, dword [esp + 0x6c]
jle 0x441a11
push eax
lea ecx, [esp + 0x68]
call fcn.0040cde0
mov ebx, dword [esp + 0x68]
mov esi, dword [esp + 0x64]
lea eax, [edi + edi]
push eax
push dword [esp + 0x3c]
push esi
call fcn.004263f0
xor eax, eax
add esp, 0xc
mov word [esi + ebx*2 - 2], ax
mov edi, dword [esp + 0xdc]
test edi, edi
je 0x441a53
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x441a4d
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push edi
call dword [eax + 0x18]
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xdc], esi
mov dword [esp + 0x64], 0
mov dword [esp + 0xe0], ebx
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
test eax, eax
je 0x441c0b
dec eax
test eax, eax
jle 0x441c0b
test ebx, ebx
je 0x441c0b
lea eax, [ebx - 1]
test eax, eax
jle 0x441c0b
mov edi, dword [esp + 0x2d4]
xor esi, esi
test edi, edi
jle 0x441beb
mov ecx, dword [esp + 0x2d0]
lea eax, [esp + 0x270]
test ecx, ecx
cmovne eax, ecx
mov dword [esp + 0x38], eax
mov ecx, edi
and ecx, 0x80000001
jns 0x441ae3
dec ecx
or ecx, 0xfffffffe
inc ecx
mov eax, edi
cdq
sub eax, edx
mov edx, dword [esp + 0x38]
mov edi, eax
sar edi, 1
cmp dword [esp + 0x4c], 0
lea eax, [edi + esi]
lea ebx, [eax + ecx]
mov ecx, 0x60f5ec
cmovne ecx, dword [esp + 0x48]
lea eax, [eax + eax*2]
cmp dword [edx + eax*8 + 4], 0
je 0x441b14
mov eax, dword [edx + eax*8]
jmp 0x441b19
mov eax, 0x60f5ec
push ecx
push eax
call fcn.0042e8d0
add esp, 8
test eax, eax
cmovs esi, ebx
test edi, edi
jg 0x441ad4
cmp esi, dword [esp + 0x2d4]
jge 0x441beb
mov eax, dword [esp + 0x2d0]
lea edi, [esi + esi*2]
shl edi, 3
lea ecx, [esp + 0x270]
test eax, eax
cmovne ecx, eax
cmp dword [ecx + edi + 4], 0
je 0x441b5e
mov ecx, dword [ecx + edi]
jmp 0x441b63
mov ecx, 0x60f5ec
cmp dword [esp + 0x4c], 0
mov eax, 0x60f5ec
push ecx
cmovne eax, dword [esp + 0x4c]
push eax
call fcn.0042e8d0
add esp, 8
test eax, eax
js 0x441beb
cmp esi, 0xffffffff
je 0x441beb
mov ecx, esi
mov dword [esp + 0x134], esi
not ecx
xor eax, eax
shr ecx, 0x1f
cmp esi, dword [esp + 0x2d4]
cmovl eax, ecx
test eax, eax
jne 0x441bd1
lea eax, [esp + 0x134]
mov dword [esp + 0x1b8], eax
lea eax, [esp + 0x270]
mov dword [esp + 0x1bc], eax
lea eax, [esp + 0x1b8]
push eax
call fcn.0060aa10
add esp, 4
nop
int3
mov eax, dword [esp + 0x2d0]
lea ecx, [esp + 0x270]
test eax, eax
cmovne ecx, eax
lea eax, [ecx + 0xc]
add eax, edi
jne 0x441c04
lea eax, [esp + 0xdc]
push eax
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x278]
call fcn.00431c40
mov esi, dword [esp + 0xdc]
test esi, esi
je 0x441c2a
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x441c24
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push esi
call dword [eax + 0x18]
mov esi, dword [esp + 0x48]
test esi, esi
je 0x441c4d
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x441c47
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push esi
call dword [eax + 0x18]
mov ebx, dword [esp + 0x1c]
add ebx, 0xc
mov dword [esp + 0x1c], ebx
cmp ebx, dword [esp + 0x9c]
jne 0x441701
lea ecx, [esp + 0x100]
call fcn.00434e30
mov esi, dword [esp + 0xec]
test esi, esi
je 0x441c97
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x441c91
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push esi
call dword [eax + 0x18]
mov esi, dword [esp + 0x20]
test esi, esi
je 0x441cba
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x441cb4
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push esi
call dword [eax + 0x18]
mov eax, dword [esp + 0x268]
xor esi, esi
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], esi
test eax, eax
jle 0x442325
mov edx, dword [esp + 0x264]
lea eax, [esp + 0x224]
test edx, edx
mov dword [esp + 0x138], esi
cmovne eax, edx
cmp byte [eax + 0xc], 0
jne 0x4420e6
cmp dword [esp + 0x268], esi
jle 0x4420e6
or ecx, 0xffffffff
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], ecx
lea ebx, [ecx + 1]
xor eax, eax
mov ecx, ebx
mov dword [esp + 0x13c], ebx
not ecx
shr ecx, 0x1f
cmp ebx, dword [esp + 0x268]
cmovl eax, ecx
test eax, eax
jne 0x441d71
lea eax, [esp + 0x13c]
mov dword [esp + 0x1e8], eax
lea eax, [esp + 0x224]
mov dword [esp + 0x1ec], eax
lea eax, [esp + 0x1e8]
push eax
call fcn.0060ab50
add esp, 4
nop
int3
mov ecx, dword [esp + 0x1c]
lea edi, [esp + 0x224]
test edx, edx
cmovne edi, edx
add edi, ecx
movzx eax, byte [edi + 0xc]
cmp eax, 3
ja case.default.0x441d90
jmp dword [eax*4 + 0x442504]
lea eax, [esp + 0xc]
cmp eax, edi
je case.default.0x441d90
mov esi, dword [edi + 4]
mov edi, dword [edi]
mov dword [esp + 0x218], esi
mov dword [esp + 0x10], esi
test esi, esi
jne 0x441dc6
cmp dword [esp + 0x14], esi
jne 0x441dc6
mov dword [esp + 0x14], esi
jmp case.default.0x441d90
push dword [esp + 0x14]
lea ecx, [esp + 0x10]
push esi
call fcn.0040cd80
lea eax, [esi + esi]
push eax
push edi
push dword [esp + 0x14]
call fcn.005f7171
add esp, 0xc
jmp 0x4420c0
test esi, esi
jle 0x441df3
lea eax, [esi - 1]
jmp 0x441df5
xor eax, eax
xor edx, edx
mov dword [esp + 0x18], eax
test esi, esi
setle dl
inc edx
add edx, esi
mov dword [esp + 0x10], edx
cmp edx, dword [esp + 0x14]
jle 0x441e1b
push esi
lea ecx, [esp + 0x10]
call fcn.0040cde0
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
xor eax, eax
mov ecx, esi
mov dword [esp + 0x140], esi
not ecx
shr ecx, 0x1f
cmp esi, edx
cmovl eax, ecx
test eax, eax
jne 0x441e63
lea eax, [esp + 0x140]
mov dword [esp + 0x1f0], eax
lea eax, [esp + 0xc]
mov dword [esp + 0x1f4], eax
lea eax, [esp + 0x1f0]
push eax
call fcn.006090b0
add esp, 4
nop
int3
mov eax, dword [esp + 0xc]
mov ecx, 0x2d
mov word [eax + esi*2], cx
inc esi
mov ecx, esi
mov dword [esp + 0x144], esi
not ecx
xor eax, eax
shr ecx, 0x1f
cmp esi, dword [esp + 0x10]
cmovl eax, ecx
test eax, eax
jne 0x44209e
lea eax, [esp + 0x144]
mov dword [esp + 0x1f8], eax
lea eax, [esp + 0xc]
mov dword [esp + 0x1fc], eax
lea eax, [esp + 0x1f8]
jmp 0x442093
mov eax, dword [esp + 0x18]
test eax, eax
js 0x441fd1
cmp eax, dword [esp + 0x268]
jge 0x441fd1
mov dword [esp + 0x214], eax
test edx, edx
lea eax, [esp + 0x224]
cmovne eax, edx
cmp byte [eax + ecx - 4], 0
jne 0x441fd1
cmp dword [edi + 4], 1
jle 0x441fd1
test esi, esi
jle 0x441eff
lea eax, [esi - 1]
jmp 0x441f01
xor eax, eax
xor edx, edx
mov dword [esp + 0x18], eax
test esi, esi
setle dl
inc edx
add edx, esi
mov dword [esp + 0x10], edx
cmp edx, dword [esp + 0x14]
jle 0x441f27
push esi
lea ecx, [esp + 0x10]
call fcn.0040cde0
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
xor eax, eax
mov ecx, esi
mov dword [esp + 0x148], esi
not ecx
shr ecx, 0x1f
cmp esi, edx
cmovl eax, ecx
test eax, eax
jne 0x441f6f
lea eax, [esp + 0x148]
mov dword [esp + 0x200], eax
lea eax, [esp + 0xc]
mov dword [esp + 0x204], eax
lea eax, [esp + 0x200]
push eax
call fcn.006090b0
add esp, 4
nop
int3
mov eax, dword [esp + 0xc]
mov ecx, 0x2d
mov word [eax + esi*2], cx
inc esi
mov ecx, esi
mov dword [esp + 0x14c], esi
not ecx
xor eax, eax
shr ecx, 0x1f
cmp esi, dword [esp + 0x10]
cmovl eax, ecx
test eax, eax
jne 0x441fc3
lea eax, [esp + 0x14c]
mov dword [esp + 0x168], eax
lea eax, [esp + 0xc]
mov dword [esp + 0x16c], eax
lea eax, [esp + 0x168]
push eax
call fcn.006090b0
add esp, 4
nop
int3
mov eax, dword [esp + 0xc]
xor ecx, ecx
mov word [eax + esi*2], cx
mov esi, dword [esp + 0x10]
test esi, esi
jle 0x441fda
lea eax, [esi - 1]
jmp 0x441fdc
xor eax, eax
xor edx, edx
mov dword [esp + 0x18], eax
test esi, esi
setle dl
inc edx
add edx, esi
mov dword [esp + 0x10], edx
cmp edx, dword [esp + 0x14]
jle 0x442002
push esi
lea ecx, [esp + 0x10]
call fcn.0040cde0
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
xor eax, eax
mov ecx, esi
mov dword [esp + 0x150], esi
not ecx
shr ecx, 0x1f
cmp esi, edx
cmovl eax, ecx
test eax, eax
jne 0x44204a
lea eax, [esp + 0x150]
mov dword [esp + 0x170], eax
lea eax, [esp + 0xc]
mov dword [esp + 0x174], eax
lea eax, [esp + 0x170]
push eax
call fcn.006090b0
add esp, 4
nop
int3
mov eax, dword [esp + 0xc]
mov ecx, 0x2d
mov word [eax + esi*2], cx
inc esi
mov ecx, esi
mov dword [esp + 0x154], esi
not ecx
xor eax, eax
shr ecx, 0x1f
cmp esi, dword [esp + 0x10]
cmovl eax, ecx
test eax, eax
jne 0x44209e
lea eax, [esp + 0x154]
mov dword [esp + 0x178], eax
lea eax, [esp + 0xc]
mov dword [esp + 0x17c], eax
lea eax, [esp + 0x178]
push eax
call fcn.006090b0
nop
add esp, 4
int3
mov eax, dword [esp + 0xc]
xor ecx, ecx
mov word [eax + esi*2], cx
mov ecx, dword [edi + 4]
lea eax, [ecx - 1]
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
push dword [edi]
lea ecx, [esp + 0x14]
call fcn.0040edd0
mov edx, dword [esp + 0x264]
mov esi, dword [esp + 0x10]
add dword [esp + 0x1c], 0x10
mov ecx, ebx
mov dword [esp + 0x18], ecx
lea eax, [ecx + 1]
cmp eax, dword [esp + 0x268]
jl 0x441d17
test esi, esi
je 0x442325
lea eax, [esi - 1]
test eax, eax
jle 0x442320
mov ecx, dword [esp + 0x2d4]
test ecx, ecx
jle 0x442320
mov eax, dword [esp + 0x2d0]
lea ebx, [esp + 0x270]
test eax, eax
mov dword [esp + 0x18], 0x40
cmovne ebx, eax
lea eax, [ecx + ecx*2]
lea eax, [ebx + eax*8]
mov dword [esp + 0x38], eax
cmp ebx, eax
je 0x442320
test esi, esi
jle 0x44213e
lea edi, [esi - 1]
jmp 0x442140
xor edi, edi
xor edx, edx
test esi, esi
setle dl
inc edx
add edx, esi
mov dword [esp + 0x10], edx
cmp edx, dword [esp + 0x14]
jle 0x442162
push esi
lea ecx, [esp + 0x10]
call fcn.0040cde0
mov edx, dword [esp + 0x10]
mov ecx, edi
mov dword [esp + 0x158], edi
not ecx
xor eax, eax
shr ecx, 0x1f
cmp edi, edx
cmovl eax, ecx
test eax, eax
jne 0x4421a6
lea eax, [esp + 0x158]
mov dword [esp + 0x180], eax
lea eax, [esp + 0xc]
mov dword [esp + 0x184], eax
lea eax, [esp + 0x180]
push eax
call fcn.006090b0
add esp, 4
nop
int3
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
mov word [eax + edi*2], cx
inc edi
mov ecx, edi
mov dword [esp + 0x15c], edi
not ecx
xor eax, eax
shr ecx, 0x1f
cmp edi, dword [esp + 0x10]
cmovl eax, ecx
test eax, eax
jne 0x4421f9
lea eax, [esp + 0x15c]
mov dword [esp + 0x188], eax
lea eax, [esp + 0xc]
mov dword [esp + 0x18c], eax
lea eax, [esp + 0x188]
push eax
call fcn.006090b0
add esp, 4
nop
int3
mov eax, dword [esp + 0xc]
xor ecx, ecx
mov dword [esp + 0x18], 0x3b
mov word [eax + edi*2], cx
mov ecx, dword [ebx + 4]
lea eax, [ecx - 1]
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
push dword [ebx]
lea ecx, [esp + 0x14]
call fcn.0040edd0
mov eax, dword [esp + 0x10]
test eax, eax
jle 0x442230
lea esi, [eax - 1]
jmp 0x442232
xor esi, esi
xor edx, edx
test eax, eax
setle dl
inc edx
add edx, eax
mov dword [esp + 0x10], edx
cmp edx, dword [esp + 0x14]
jle 0x442254
push eax
lea ecx, [esp + 0x10]
call fcn.0040cde0
mov edx, dword [esp + 0x10]
mov ecx, esi
mov dword [esp + 0x160], esi
not ecx
xor eax, eax
shr ecx, 0x1f
cmp esi, edx
cmovl eax, ecx
test eax, eax
jne 0x442298
lea eax, [esp + 0x160]
mov dword [esp + 0x190], eax
lea eax, [esp + 0xc]
mov dword [esp + 0x194], eax
lea eax, [esp + 0x190]
push eax
call fcn.006090b0
add esp, 4
nop
int3
mov eax, dword [esp + 0xc]
mov ecx, 0x3d
mov word [eax + esi*2], cx
inc esi
mov ecx, esi
mov dword [esp + 0x164], esi
not ecx
xor eax, eax
shr ecx, 0x1f
cmp esi, dword [esp + 0x10]
cmovl eax, ecx
test eax, eax
jne 0x4422ec
lea eax, [esp + 0x164]
mov dword [esp + 0xf8], eax
lea eax, [esp + 0xc]
mov dword [esp + 0xfc], eax
lea eax, [esp + 0xf8]
push eax
call fcn.006090b0
add esp, 4
nop
int3
mov eax, dword [esp + 0xc]
xor ecx, ecx
mov word [eax + esi*2], cx
mov ecx, dword [ebx + 0x10]
lea eax, [ecx - 1]
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
push dword [ebx + 0xc]
lea ecx, [esp + 0x14]
call fcn.0040edd0
mov esi, dword [esp + 0x10]
add ebx, 0x18
cmp ebx, dword [esp + 0x38]
jne 0x442135
cmp esi, 1
jg 0x442381
cmp dword [esp + 0xc], 0x621fc4
je 0x442381
xor ecx, ecx
cmp dword [esp + 0x14], 0xc
mov dword [esp + 0x10], ecx
je 0x44234b
push 0xc
lea ecx, [esp + 0x10]
call fcn.0040ce40
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 0xc]
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0x14]
jle 0x442362
push ecx
lea ecx, [esp + 0x10]
call fcn.0040cde0
mov eax, dword [esp + 0xc]
movups xmm0, xmmword [0x621fc4]
movups xmmword [eax], xmm0
mov eax, dword [esp + 0xc]
movq xmm0, qword [0x621fd4]
movq qword [eax + 0x10], xmm0
mov ecx, dword [esp + 0x60]
lea eax, [esp + 0xc]
push eax
call fcn.0040e0f0
mov esi, dword [esp + 0xc]
test esi, esi
je 0x4423b2
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x4423ac
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push esi
call dword [eax + 0x18]
lea ecx, [esp + 0x270]
call fcn.00434c60
mov esi, dword [esp + 0x264]
lea edi, [esp + 0x224]
mov ebx, dword [esp + 0x268]
test esi, esi
cmovne edi, esi
test ebx, ebx
je 0x442410
nop dword [eax]
mov esi, dword [edi]
test esi, esi
je 0x442401
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x4423fb
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push esi
call dword [eax + 0x18]
add edi, 0x10
sub ebx, 1
jne 0x4423e0
mov esi, dword [esp + 0x264]
test esi, esi
je 0x44242f
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x442429
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push esi
call dword [eax + 0x18]
mov esi, dword [esp + 0xd0]
test esi, esi
je 0x442455
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x44244f
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push esi
call dword [eax + 0x18]
mov ecx, dword [esp + 0x2dc]
mov eax, dword [esp + 0x60]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.005f4480
add esp, 0x2d4
ret
push 0x6e11e0
call fcn.005f48b1
add esp, 4
cmp dword [0x6e11e0], 0xffffffff
jne 0x440689
push 0x6e11d4
lea ecx, [esp + 0x4b]
mov byte [esp + 0x4b], 0
call fcn.00436690
push 0x605680
call fcn.005f4769
push 0x6e11e0
call fcn.005f4867
add esp, 8
jmp 0x440689
push 0x6e11f0
call fcn.005f48b1
add esp, 4
cmp dword [0x6e11f0], 0xffffffff
jne 0x44069a
push 0x6e11e4
lea ecx, [esp + 0x48]
mov byte [esp + 0x48], 0
call fcn.004376a0
push 0x605a50
call fcn.005f4769
push 0x6e11f0
call fcn.005f4867
add esp, 8
jmp 0x44069a