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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x310
xor eax, eax
mov dword [esp + 0x3c], ecx
push esi
mov dword [esp + 0x2c], eax
push edi
mov dword [esp + 0x18], 0xfffffff9
mov dword [esp + 0x18], eax
cmp dword [esp + 0x18], 0xffffffe4
push 2
mov dword [esp + 0x38], edx
pop edi
jle 0x42ea3b
jmp 0x42e936
xor eax, eax
push dword [esp + 0x30]
movdqa xmm0, xmmword [0xa61860]
lea ecx, [esp + 0x294]
push ecx
lea ecx, [esp + 0x288]
mov dword [esp + 0xf4], eax
push ecx
push eax
lea ecx, [esp + 0xfc]
mov dword [esp + 0x100], eax
movdqu xmmword [esp + 0x290], xmm0
mov dword [esp + 0x104], eax
call fcn.00401916
mov esi, dword [esp + 0xec]
mov dword [esp + 0x20], 1
and dword [esi + 0xc], 0
push 4
lea ecx, [esp + 0x144]
call fcn.004013f7
mov dword [esp + 0x24], 0xf126c7f0
mov dword [esp + 0xc], 0
jmp 0x42e9c6
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x140]
mov dword [eax + ecx*4], 0xfff9
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 4
jl 0x42e9b0
mov eax, dword [esp + 0x20]
xor ecx, ecx
inc dword [esp + 0x20]
mov edx, dword [esp + 0x140]
mov eax, dword [esp + 0x18]
cmp dword [edx + 4], 0xfffffff7
sete cl
sub ecx, eax
cmp ecx, 0xa7609fa8
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, dword [edx + 4]
setl cl
xor eax, eax
cmp ecx, edi
lea ecx, [esp + 0x140]
setg al
mov dword [esp + 0x24], eax
call fcn.004014c9
dec dword [esi + 0xc]
cmp dword [esi + 0xc], 0xfffffff5
jne 0x42e990
lea ecx, [esp + 0xec]
call fcn.004014c9
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xffffffe4
jg 0x42e934
push 3
lea ecx, [esp + 0x210]
call fcn.004013f7
push edi
lea ecx, [esp + 0x120]
call fcn.004013f7
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x42ea70
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x20c]
mov dword [ecx + edx*4], eax
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x42ea5e
mov dword [esp + 0x10], eax
jmp 0x42ea93
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x11c]
mov dword [ecx + edx*4], 0xba394643
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x42ea7d
mov ecx, dword [esp + 0x11c]
mov esi, dword [0xa651e8]
mov dword [ecx], edi
mov edi, dword [0xa651f0]
mov dword [esp + 0x18], eax
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x42eacc
push eax
call edi
push eax
call esi
push eax
call dword [0xa651ec]
xor eax, eax
mov dword [esp + 0x18], eax
jmp 0x42eae8
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x20c]
mov dword [ecx + edx*4], 0xfffffffb
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jle 0x42ead2
mov ecx, dword [esp + 0x11c]
dec dword [ecx]
jns 0x42eaae
lea ecx, [esp + 0x11c]
call fcn.004014c9
lea ecx, [esp + 0x20c]
call fcn.004014c9
mov eax, dword [0xa63d5c]
test al, 1
jne 0x42eba0
or eax, 1
mov dword [0xa63d5c], eax
xor eax, eax
push eax
push eax
mov dword [0xa63d80], eax
mov dword [0xa63d84], eax
call fcn.0041f52d
mov ecx, eax
mov dword [0xa63d9c], 0x3f800000
mov dword [0xa63d80], ecx
xor eax, eax
mov dword [esp + 0x100], ecx
lea ecx, [esp + 0x100]
push ecx
push 0x10
push eax
mov dword [0xa63d88], eax
mov ecx, 0xa63d88
mov dword [0xa63d90], eax
mov dword [0xa63d8c], eax
lea eax, [esp + 0x268]
push eax
call fcn.0041f2d2
push 0x470154
mov dword [0xa63d94], 7
mov dword [0xa63d98], 8
call fcn.00463d3f
pop ecx
xor eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], 0xfffffffe
mov dword [esp + 0xc], 0x7f5a
mov dword [esp + 0x24], 0xfffffffa
cmp dword [esp + 0x20], eax
je 0x42ebf0
mov dword [esp + 0x24], 9
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], al
je 0x42ebe3
push eax
call edi
push eax
call esi
push eax
call dword [0xa65064]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x10], eax
jmp 0x42ec8a
mov dword [esp + 0x18], 0xe3cf
mov dword [esp + 0x24], 0x2955
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], al
je 0x42ec13
push eax
call dword [0xa650fc]
xor eax, eax
cmp dword [esp + 0x10], eax
jne 0x42ec7e
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
cmp ecx, dword [esp + 0x20]
jge 0x42ec34
cmp dword [esp + 0x18], eax
je 0x42ec34
xor eax, eax
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x10], 0x424b969b
jg 0x42ec52
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
sub eax, 0x31e57ed4
sub eax, dword [esp + 0x24]
neg eax
sbb eax, eax
inc eax
imul eax, dword [esp + 0x24]
imul eax, dword [esp + 0x20]
test eax, eax
jne 0x42ec7e
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x164]
mov dword [esp + 0x10], eax
xor esi, esi
imul eax, dword [esp + 0x44], 0x2710
inc esi
push esi
add eax, dword [esp + 0x38]
mov dword [esp + 0x68], eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x34], 0xffffffff
call fcn.004013f7
xor eax, eax
mov dword [esp + 0xc], eax
jmp 0x42ece0
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x164]
mov dword [ecx + edx*4], 0x8bd4dfbd
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x42ecca
mov dword [esp + 0x18], esi
jmp 0x42ed23
mov dword [esp + 0x24], eax
mov dword [esp + 0xc], eax
jmp 0x42ed09
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x2ec], 0xfffffffc
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x42ecf6
inc dword [esp + 0x24]
mov ecx, dword [esp + 0x164]
cmp dword [ecx], eax
jne 0x42ed2a
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xfffffff7
jne 0x42ecec
lea ecx, [esp + 0x164]
call fcn.004014c9
lea eax, [esp + 0x64]
push eax
call fcn.00430e6f
mov esi, dword [eax]
mov dword [esp + 0x10], 0xfffffff6
mov dword [esp + 0x24], 0x7d0b0a35
mov dword [esp + 0x28], esi
mov dword [esp + 0xc], 0
jmp 0x42ed73
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x29c], 0xfffe
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x42ed60
mov dword [esp + 0x10], 0xfffffffe
jmp 0x42ee40
mov dword [esp + 0x20], 0x39924432
mov dword [esp + 0x20], 2
cmp dword [esp + 0x20], 0
jl 0x42ee3c
mov dword [esp + 0x18], 0xfffffffa
mov dword [esp + 0x24], 0xfffffffc
mov dword [esp + 0x18], 2
cmp dword [esp + 0x18], 0
jl 0x42ee32
push 2
lea ecx, [esp + 0x1c8]
call fcn.004013f7
mov dword [esp + 0xc], 0
jmp 0x42edef
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x1c4]
mov dword [eax + ecx*4], 0xf27d2703
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x42edd9
mov ecx, dword [esp + 0x1c4]
and dword [ecx + 4], 0
mov eax, dword [ecx + 4]
inc dword [ecx + 4]
cmp dword [ecx + 4], 3
mov dword [esp + eax*4 + 0x29c], 0x1536
jl 0x42ee01
mov dword [esp + 0x24], 0x2b21a35c
lea ecx, [esp + 0x1c4]
call fcn.004014c9
dec dword [esp + 0x18]
jns 0x42edc1
dec dword [esp + 0x20]
jns 0x42eda2
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0x18
je 0x42ed87
mov dword [esp + 0x10], 0
jmp 0x42eeaf
push 3
lea ecx, [esp + 0x180]
call fcn.004013f7
mov dword [esp + 0xc], 0
jmp 0x42ee83
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x17c]
mov dword [eax + ecx*4], 0xa13b2885
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x42ee6d
mov dword [esp + 0x24], 0xc1d6b3bf
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x17c]
mov dword [eax], ecx
lea ecx, [esp + 0x17c]
call fcn.004014c9
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xfffffffd
jge 0x42ee55
test esi, esi
je 0x42f21d
push 4
pop esi
push esi
lea ecx, [esp + 0x198]
call fcn.004013f7
push esi
lea ecx, [esp + 0x1f8]
call fcn.004013f7
mov dword [esp + 0xc], 0xe6e2bfbd
xor edx, edx
inc edx
xor eax, eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x30], 0x4628aea3
mov dword [esp + 0x2c], 0xd983a5c2
mov dword [esp + 0x30], 0xfffffff8
mov dword [esp + 0x1c], eax
jmp 0x42ef19
mov ecx, dword [esp + 0x1c]
mov dword [esp + ecx*4 + 0xf8], eax
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], edx
jl 0x42ef0a
mov dword [esp + 0x1c], eax
jmp 0x42ef3b
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x194]
mov dword [ecx + edx*4], 0x42c70bb7
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], esi
jl 0x42ef25
mov dword [esp + 0x1c], eax
jmp 0x42ef59
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1f4]
mov dword [ecx + edx*4], eax
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], esi
jl 0x42ef47
mov esi, dword [esp + 0x194]
mov edi, dword [esp + 0x1f4]
mov dword [esi + 0xc], eax
push 1
lea ecx, [esp + 0x114]
call fcn.004013f7
xor eax, eax
mov dword [esp + 0x1c], 0x60d2f38
mov dword [esp + 0x34], eax
mov dword [esp + 0x10], eax
jmp 0x42efa8
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x110]
mov dword [ecx + edx*4], 3
inc dword [esp + 0x10]
xor edx, edx
inc edx
cmp dword [esp + 0x10], edx
jl 0x42ef92
mov dword [esp + 0x10], eax
jmp 0x42efca
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x2b4], 0xa064f577
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x42efb7
mov ecx, dword [esp + 0xf8]
mov ecx, dword [esp + 0x110]
mov ecx, dword [ecx]
mov dword [edi + 8], ecx
mov dword [esp + 0xc], ecx
cmp dword [esp + 0xc], 0xfffffff9
jl 0x42efff
mov dword [esp + 0x1c], 0xfffffffe
mov ecx, eax
cmp dword [esp + 0x1c], eax
je 0x42f001
mov ecx, edx
cmp ecx, dword [esp + 0x20]
jl 0x42f083
mov dword [esp + 0x18], 0x667f5aee
xor edx, edx
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x24], 0x93cbfb41
mov ecx, dword [esp + 0x34]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0xc]
sub ecx, 0x108f
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
cmp ecx, 1
mov ecx, dword [esp + 0x18]
setge dl
mov dword [esp + 0x34], edx
xor edx, edx
cmp ecx, dword [esp + 0x34]
setle dl
imul ecx, edx, 0xe26
test ecx, ecx
jne 0x42f07a
cmp dword [esp + 0x18], eax
jne 0x42f07a
mov ecx, eax
jmp 0x42f07d
xor ecx, ecx
inc ecx
mov dword [esp + 0x24], ecx
jmp 0x42f0b7
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], edx
mov dword [esp + 0x30], 0x5925f8a4
mov dword [esp + 0x30], eax
mov dword [esp + 0x30], 0xd6240c41
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], 0xfffa
inc dword [esp + 0x24]
cmp dword [esp + 0x2c], eax
lea ecx, [esp + 0x110]
call fcn.004014c9
dec dword [esi + 0xc]
jns 0x42ef70
xor eax, eax
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], al
je 0x42f0f7
push 0x9fa
push eax
push eax
call dword [0xa651f0]
push eax
call dword [0xa651e8]
push eax
call dword [0xa65068]
lea ecx, [esp + 0x1f4]
call fcn.004014c9
lea ecx, [esp + 0x194]
call fcn.004014c9
mov eax, dword [esp + 0x28]
mov dword [esp + 0x68], eax
xor eax, eax
mov dword [esp + 0x10], 0xca4f833f
push 3
mov dword [esp + 0x10], 0x1cf04157
mov dword [esp + 0x14], eax
pop edx
jmp 0x42f142
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x48], 1
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x42f132
mov dword [esp + 0x10], eax
jmp 0x42f161
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x2a8], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x42f14e
mov dword [esp + 0x10], 2
cmp dword [esp + 0x10], eax
jl 0x42f195
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x42f18f
push 0x1e2a
push eax
push eax
call dword [0xa650c4]
xor eax, eax
dec dword [esp + 0x10]
jns 0x42f175
mov ecx, dword [esp + 0x50]
add ecx, dword [esp + 0x10]
jne 0x42f1ca
mov ecx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
cmp dword [esp + 0xc], ecx
jg 0x42f1b8
cmp dword [esp + 0x50], eax
je 0x42f1b8
xor ecx, ecx
inc ecx
jmp 0x42f1ba
mov ecx, eax
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
cmp dword [esp + 0x10], eax
je 0x42f1d4
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x48]
xor ecx, ecx
mov eax, dword [esp + 0x50]
mov eax, dword [esp + 0x50]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
mov eax, dword [esp + 0x50]
cmp eax, 1
mov eax, dword [esp + 0x50]
setl cl
xor edx, edx
add ecx, eax
mov eax, dword [esp + 0x50]
cmp eax, ecx
setge dl
xor eax, eax
cmp edx, 0xffffffff
setge al
mov dword [esp + 0x2b0], eax
jmp 0x430d0c
push 3
lea ecx, [esp + 0x138]
call fcn.004013f7
xor eax, eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0xc], eax
jmp 0x42f24d
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x134]
mov dword [ecx + edx*4], eax
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x42f23b
push 2
pop esi
mov dword [esp + 0xc], esi
cmp dword [esp + 0xc], eax
jl 0x42f4d2
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x18], eax
jmp 0x42f28e
mov ecx, dword [esp + 0x18]
mov dword [esp + ecx*4 + 0xb0], 0xffffffff
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x42f27b
mov dword [esp + 0x18], esi
cmp dword [esp + 0x18], eax
jl 0x42f4c8
mov dword [esp + 0x20], 0xae77ab39
lea ecx, [esp + 0x104]
push 4
call fcn.004013f7
xor eax, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], eax
jmp 0x42f2de
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x104]
mov dword [ecx + edx*4], 0x3c67ee39
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 4
jl 0x42f2c8
mov dword [esp + 0x20], eax
cmp dword [esp + 0x20], esi
jg 0x42f3b9
xor esi, esi
inc esi
mov dword [esp + 0x10], esi
mov dword [esp + 0x10], eax
jmp 0x42f313
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x2c8], 0xfffffff8
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x42f300
mov dword [esp + 0x10], 2
cmp dword [esp + 0x10], eax
jl 0x42f358
mov edx, dword [esp + 0x104]
mov dword [esp + 0x28], 0xcc7c44d9
mov ecx, dword [esp + 0x2c]
inc dword [esp + 0x2c]
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov ecx, dword [edx + 8]
mov dword [esp + 0x28], ecx
dec dword [esp + 0x10]
jns 0x42f32f
mov dword [esp + 0x10], eax
jmp 0x42f3a1
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x42f375
push eax
call edi
push eax
call dword [0xa65194]
xor eax, eax
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x42f39d
push 0x1f51
push 0x12c8
push 0x2423
push 0x264c
push eax
call dword [0xa651ac]
xor eax, eax
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jle 0x42f35e
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 2
jle 0x42f2f6
jmp 0x42f3bc
xor esi, esi
inc esi
mov dword [esp + 0x1c], 2
cmp dword [esp + 0x1c], eax
jl 0x42f4ad
push esi
lea ecx, [esp + 0x1e0]
call fcn.004013f7
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x42f3f9
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1dc]
mov dword [ecx + edx*4], 0xff93f8de
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x42f3e3
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1dc]
mov ecx, dword [ecx]
sub ecx, edx
jne 0x42f422
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x104]
mov dword [ecx + 8], edx
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x134]
cmp dword [ecx + edx*4], eax
jne 0x42f441
mov ecx, eax
cmp dword [esp + 0xb4], eax
je 0x42f443
mov ecx, esi
mov dword [esp + 0x20], ecx
xor edx, edx
mov ecx, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb4]
test ecx, ecx
setns dl
imul ecx, edx, 0x9491
sub ecx, 0xfffffffa
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x24], ecx
cmp dword [esp + 0x24], eax
je 0x42f493
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x134]
cmp dword [ecx + edx*4], eax
je 0x42f493
cmp dword [esp + 0xc], eax
je 0x42f493
mov eax, esi
mov dword [esp + 0x28], eax
lea ecx, [esp + 0x1dc]
call fcn.004014c9
dec dword [esp + 0x1c]
jns 0x42f3ce
lea ecx, [esp + 0x104]
call fcn.004014c9
dec dword [esp + 0x18]
push 2
pop esi
jns 0x42f2a2
xor eax, eax
dec dword [esp + 0xc]
jns 0x42f265
lea ecx, [esp + 0x134]
call fcn.004014c9
mov eax, dword [0xa63d5c]
test al, 2
jne 0x42f564
or eax, esi
mov dword [0xa63d5c], eax
xor eax, eax
push eax
push eax
mov dword [0xa63d60], eax
mov dword [0xa63d64], eax
call fcn.0041f52d
mov ecx, eax
mov dword [0xa63d7c], 0x3f800000
mov dword [0xa63d60], ecx
xor eax, eax
mov dword [esp + 0xfc], ecx
lea ecx, [esp + 0xfc]
push ecx
push 0x10
push eax
mov dword [0xa63d68], eax
mov ecx, 0xa63d68
mov dword [0xa63d70], eax
mov dword [0xa63d6c], eax
lea eax, [esp + 0x6c]
push eax
call fcn.0041f2d2
push 0x47014f
mov dword [0xa63d74], 7
mov dword [0xa63d78], 8
call fcn.00463d3f
pop ecx
xor edi, edi
inc edi
xor eax, eax
mov dword [esp + 0xc], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0xc], eax
jmp 0x42f58a
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x224], 0xfffffff9
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x42f577
mov dword [esp + 0xc], esi
cmp dword [esp + 0xc], eax
jl 0x42f5c7
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + ecx*4 + 0x224]
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x224], edx
mov dword [esp + 0x24], edx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
dec dword [esp + 0xc]
jns 0x42f59b
xorps xmm0, xmm0
movdqu xmmword [esp + 0xa0], xmm0
mov dword [esp + 0x10], 0xb51dba33
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x24], 0x86095610
mov dword [esp + 0x24], 0xf738f585
mov esi, dword [esp + 0x10]
neg esi
sbb esi, esi
neg esi
cmp dword [esp + 0x10], eax
je 0x42f680
mov ecx, dword [esp + 0x10]
xor edx, edx
mov ecx, dword [esp + 0x18]
cmp ecx, edi
setl dl
imul edx, dword [esp + 0x18]
cmp edx, dword [esp + 0x10]
jl 0x42f623
cmp dword [esp + 0x10], eax
jne 0x42f625
mov edi, eax
mov ecx, dword [esp + 0x18]
xor edx, edx
cmp edi, ecx
push 0
sete dl
sub edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
neg edx
sbb edx, edx
inc edx
mov dword [esp + 0x2c], edx
xor edx, edx
cmp dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x14]
setle dl
neg edx
sub ecx, edx
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
cmp edx, ecx
pop ecx
setne cl
mov dword [esp + 0x24], ecx
imul ecx, dword [esp + 0x24], 0xfa02
test ecx, ecx
je 0x42f680
xor edi, edi
inc edi
jmp 0x42f682
mov edi, eax
mov ecx, dword [esp + 0x18]
xor edx, edx
cmp edi, ecx
mov ecx, dword [esp + 0x18]
setne dl
neg edx
mov dword [esp + 0x28], edx
xor edx, edx
cmp dword [esp + 0x28], ecx
setl dl
imul edx, esi
mov dword [esp + 0x10], edx
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], al
je 0x42f6bd
push eax
push 0x263d
call dword [0xa650f0]
lea eax, [esp + 0x44]
push eax
call fcn.00430ed1
push dword [esp + 0x60]
movdqa xmm0, xmmword [0xa61880]
lea ecx, [esp + 0x284]
push ecx
mov edi, dword [eax]
lea ecx, [esp + 0x278]
xor eax, eax
mov dword [esp + 0x24], 0x25b9b55b
push ecx
push eax
lea ecx, [esp + 0xf0]
mov dword [esp + 0x34], edi
movdqu xmmword [esp + 0x280], xmm0
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], eax
call fcn.00401916
push 3
pop esi
mov dword [esp + 0x28], 0xfffd
lea ecx, [esp + 0x14c]
mov dword [esp + 0x2c], 4
push esi
call fcn.004013f7
mov dword [esp + 0xc], 0
jmp 0x42f75e
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x14c]
mov dword [eax + ecx*4], 0x4524be1
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x42f748
mov dword [esp + 0x1c], 0xffffffe4
cmp dword [esp + 0x1c], 0xffffffee
jge 0x42f8c9
mov esi, dword [esp + 0x14c]
mov dword [esp + 0x2c], 0xbe187950
lea ecx, [esp + 0x128]
mov dword [esp + 0xc], 0xf88d
push 2
call fcn.004013f7
mov dword [esp + 0x18], 0xed16
lea ecx, [esp + 0x1ac]
push 3
call fcn.004013f7
xor eax, eax
mov dword [esp + 0xc], 0xdc870af0
mov dword [esp + 0x10], eax
jmp 0x42f7d8
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x128]
mov dword [ecx + edx*4], 0xfffffff9
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x42f7c2
mov dword [esp + 0x10], eax
jmp 0x42f7fb
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1ac]
mov dword [ecx + edx*4], 1
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x42f7e5
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
neg ecx
sbb ecx, ecx
neg ecx
mov dword [esp + 0xc], ecx
cmp dword [esp + 0xc], eax
jne 0x42f82d
mov ecx, dword [esp + 0x128]
cmp dword [ecx], eax
jne 0x42f82d
mov ecx, eax
jmp 0x42f830
xor ecx, ecx
inc ecx
cmp dword [esp + 0x2c], ecx
jl 0x42f845
mov ecx, dword [esp + 0x128]
cmp dword [ecx], eax
jne 0x42f845
mov ecx, eax
jmp 0x42f848
xor ecx, ecx
inc ecx
mov eax, dword [esp + 0x1c]
xor edx, edx
cmp eax, ecx
mov eax, dword [esp + 0x18]
setg dl
xor ecx, ecx
cmp edx, eax
setle cl
sub ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0xe0]
add ecx, 0xffffe884
mov dword [eax], ecx
mov eax, dword [esp + 0x28]
sub ecx, eax
mov dword [esp + 0x2c], ecx
xor ecx, ecx
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
cmp eax, 1
mov eax, dword [esp + 0x1ac]
setle cl
mov dword [eax], ecx
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x1ac]
mov eax, dword [esp + 0xc]
mov dword [esi + 8], eax
call fcn.004014c9
lea ecx, [esp + 0x128]
call fcn.004014c9
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0xffffffee
jl 0x42f77e
push 3
pop esi
lea ecx, [esp + 0x14c]
call fcn.004014c9
lea ecx, [esp + 0xe0]
call fcn.004014c9
cmp byte [ebp + 0xc], 0
jne 0x42f8ef
test edi, edi
jne 0x42fd25
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x42f907
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x3c], 0x9fdf99ff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jl 0x42f8f7
mov dword [esp + 0x10], eax
jmp 0x42f923
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x2d4], esi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x42f914
mov dword [esp + 0x3c], eax
cmp dword [esp + 0x3c], 0xffffffe3
je 0x42f9b2
push 2
pop esi
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x20], eax
jmp 0x42f9a1
mov dword [esp + 0x18], 0xab6ec79c
mov dword [esp + 0x18], eax
jmp 0x42f997
mov dword [esp + 0xc], eax
mov dword [esp + 0xc], eax
jmp 0x42f98d
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0x10], esi
cmp dword [esp + 0x10], eax
jl 0x42f989
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x42f983
push eax
call dword [0xa65034]
xor eax, eax
dec dword [esp + 0x10]
jns 0x42f96f
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jle 0x42f95d
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jle 0x42f953
inc dword [esp + 0x20]
cmp dword [esp + 0x20], esi
jle 0x42f945
dec dword [esp + 0x3c]
cmp dword [esp + 0x3c], 0xffffffe3
jne 0x42f937
mov dl, byte [ebp + 0xc]
lea eax, [esp + 0x2f8]
mov ecx, dword [esp + 0x44]
push eax
call fcn.0041ff2c
mov esi, eax
lea edi, [esp + 0xa4]
xor eax, eax
pop ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [esp + 0xc], eax
jmp 0x42f9ef
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x2bc], 0x2e0cf572
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x42f9dc
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], al
je 0x42fa10
push eax
call dword [0xa651f0]
push eax
call dword [0xa65198]
xor eax, eax
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x42fa36
push 0x16d7
call dword [0xa651f0]
push eax
call dword [0xa651e8]
push eax
call dword [0xa6503c]
xor eax, eax
cmp byte [ebp + 0xc], 0
je 0x42fd21
cmp dword [esp + 0xa8], 0
je 0x42fd21
xor edi, edi
mov dword [esp + 0x10], eax
inc edi
jmp 0x42fa67
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x38], 0x9fdf99ff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x42fa57
mov dword [esp + 0x10], eax
jmp 0x42fa86
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x2e0], 3
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x42fa73
mov dword [esp + 0x38], eax
cmp dword [esp + 0x38], 0xffffffe3
je 0x42fb16
push 2
pop esi
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x20], eax
jmp 0x42fb05
mov dword [esp + 0x18], 0xab6ec79c
mov dword [esp + 0x18], eax
jmp 0x42fafb
mov dword [esp + 0xc], eax
mov dword [esp + 0xc], eax
jmp 0x42faf1
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0x10], esi
cmp dword [esp + 0x10], eax
jl 0x42faed
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x42fae7
push eax
call dword [0xa65034]
xor eax, eax
dec dword [esp + 0x10]
jns 0x42fad3
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jle 0x42fac1
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jle 0x42fab7
inc dword [esp + 0x20]
cmp dword [esp + 0x20], esi
jle 0x42faa9
dec dword [esp + 0x38]
cmp dword [esp + 0x38], 0xffffffe3
jne 0x42fa9b
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x1c], 0xffff
mov dword [esp + 0x28], 0x78ab
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], 0x4380d33b
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x6c], ecx
cmp dword [esp + 0x1c], eax
je 0x42fb62
mov ecx, dword [esp + 0x1c]
xor edx, edx
cmp ecx, edi
mov esi, edi
setle dl
mov dword [esp + 0x10], edx
cmp dword [esp + 0x10], eax
jne 0x42fb64
mov esi, eax
mov ecx, dword [esp + 0x28]
xor edx, edx
cmp esi, ecx
mov ecx, dword [esp + 0x1c]
push 0
setg dl
cmp ecx, edx
pop edx
setg dl
imul edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
sub ecx, edx
je 0x42fbd1
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x42fb9c
push eax
call dword [0xa651d8]
xor eax, eax
mov dword [esp + 0x1c], 0xffffffef
jmp 0x42fbc5
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x42fbc1
push eax
call dword [0xa651f0]
push eax
call dword [0xa651d0]
xor eax, eax
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0x1c
jne 0x42fba6
jmp 0x42fd16
mov dword [esp + 0x20], 0x8b474307
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x1c], 0xffffffe4
jmp 0x42fca9
mov dword [esp + 0x28], 0x3650dfa0
mov dword [esp + 0xc], eax
jmp 0x42fc0f
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x23c], 0xfff8
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x42fbfc
mov esi, dword [esp + 0x20]
neg esi
mov dword [esp + 0x240], 0x3a74adf2
mov edx, dword [esp + 0x20]
sbb esi, esi
imul edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
neg esi
push 0
cmp ecx, edx
pop ecx
setle cl
xor edx, edx
cmp ecx, esi
setge dl
imul edx, dword [esp + 0x20]
add edx, dword [esp + 0x10]
cmp edx, 0x3a74adf2
jle 0x42fc60
mov edx, edi
cmp dword [esp + 0x20], eax
jne 0x42fc62
mov edx, eax
mov ecx, dword [esp + 0x20]
sub edx, ecx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
cmp ecx, edx
push 0
pop ecx
setne cl
xor edx, edx
cmp ecx, 0xfffffffd
mov ecx, dword [esp + 0x1c]
push 0
setl dl
cmp edx, ecx
pop ecx
setl cl
sub ecx, dword [esp + 0x20]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x28], 0xac92d14b
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0x20
jne 0x42fbee
mov dword [esp + 0x10], eax
jmp 0x42fd0f
mov dword [esp + 0xc], eax
jmp 0x42fcd3
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x308], 0xfffffffc
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 4
jl 0x42fcc0
mov dword [esp + 0xc], 3
cmp dword [esp + 0xc], eax
jl 0x42fd0b
mov dword [esp + 0x1c], eax
jmp 0x42fcfe
mov dword [esp + 0x2c], 0x9e820f9
inc dword [esp + 0x2c]
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 3
jle 0x42fcee
dec dword [esp + 0xc]
jns 0x42fce8
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xffffffe8
jl 0x42fcba
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x70], eax
mov edi, dword [esp + 0x24]
mov dword [esp + 0x10], 0xe83c773
xor eax, eax
mov dword [esp + 0x18], 0x79cd329b
mov dword [esp + 0x24], 0xd40a7fc
mov dword [esp + 0x24], 6
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], 0xfffffff6
mov dword [esp + 0x2c], 5
mov dword [esp + 0x28], 0x674f9af3
mov dword [esp + 0xc], eax
jmp 0x42fd7c
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x88], 1
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x42fd69
mov dword [esp + 0x10], 2
cmp dword [esp + 0x10], eax
jl 0x42fe57
mov dword [esp + 0x24], 0xb372ba29
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x28], eax
mov dword [esp + 0xc], eax
jmp 0x42fdc2
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x290], 0xc4475ee4
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x42fdaf
mov ecx, dword [esp + 0x10]
xor edx, edx
mov ecx, dword [esp + ecx*4 + 0x88]
mov dword [esp + 0x24], ecx
mov esi, dword [esp + 0x24]
add esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
cmp ecx, 0x9f6a
mov ecx, dword [esp + 0x10]
setne dl
imul esi, edx
sub esi, dword [esp + ecx*4 + 0x88]
mov ecx, dword [esp + 0x10]
add esi, dword [esp + ecx*4 + 0x88]
imul ecx, esi, 0xd0
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x298], ecx
mov edx, dword [esp + 0x88]
add edx, ecx
neg edx
sbb edx, edx
neg edx
mov dword [esp + 0x18], edx
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + ecx*4 + 0x88]
mov ecx, dword [esp + 0x10]
neg ecx
sbb ecx, ecx
neg ecx
mov dword [esp + 0x28], ecx
dec dword [esp + 0x10]
jns 0x42fd95
xor esi, esi
xor edx, edx
inc esi
mov dword [esp + 0x18], esi
mov ecx, dword [esp + 0x18]
cmp ecx, 3
setge dl
xor ecx, ecx
cmp edx, 9
setle cl
xor edx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x8c]
test ecx, ecx
setns dl
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x10]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, dword [esp + 0x28]
setg cl
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x90]
mov ecx, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
imul ecx, dword [esp + 0x2c]
imul ecx, dword [esp + 0x20]
sub ecx, dword [esp + 0x20]
mov dword [esp + 0x28], ecx
test edi, edi
jne 0x43061d
cmp dword [esp + 0xa0], eax
jle 0x43061d
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 0xc], 0xa
jmp 0x42ff19
mov dword [esp + 0x28], 0xa4d073ff
mov dword [esp + 0x28], esi
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x42ff15
call dword [0xa650c0]
xor eax, eax
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xfffffff2
jle 0x42fef6
mov dword [esp + 0x1c], 0xffff
mov dword [esp + 0x10], 0x4431fada
mov dword [esp + 0x20], esi
mov dword [esp + 0x18], 0xeb927eed
mov dword [esp + 0x28], 3
dec dword [esp + 0x1c]
je 0x42ff86
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x10], 0xe3051ebf
cmp dword [esp + 0x10], eax
je 0x42ff74
mov edx, esi
cmp dword [esp + 0x1c], eax
jne 0x42ff76
mov edx, eax
mov ecx, dword [esp + 0x20]
sub edx, ecx
sub edx, dword [esp + 0x1c]
cmp dword [esp + 0x1c], edx
jl 0x42ff88
mov esi, eax
mov ecx, dword [esp + 0x1c]
xor edx, edx
cmp ecx, esi
setne dl
sub edx, dword [esp + 0x20]
je 0x430117
push dword [esp + 0x60]
movdqa xmm0, xmmword [0xa618a0]
lea ecx, [esp + 0x274]
push ecx
lea ecx, [esp + 0x268]
mov dword [esp + 0xc0], eax
push ecx
push eax
lea ecx, [esp + 0xc8]
mov dword [esp + 0xcc], eax
movdqu xmmword [esp + 0x270], xmm0
mov dword [esp + 0xd0], eax
call fcn.00401916
mov dword [esp + 0x18], 0x3ed13222
xor edx, edx
mov dword [esp + 0xc], 0x4f509e13
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
inc ecx
cmp eax, ecx
mov eax, dword [esp + 0x10]
setg dl
xor ecx, ecx
cmp eax, edx
setne cl
add ecx, dword [esp + 0x1c]
cmp ecx, dword [esp + 0x28]
jg 0x43001d
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0xb8]
mov eax, dword [esp + 0xc]
dec dword [esi + 4]
mov ecx, dword [esi + 4]
sub ecx, eax
xor eax, eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0xc], eax
jmp 0x4300f8
mov dword [esp + 0x20], 0x311140ae
mov dword [esp + 0x2c], 0x336fde00
mov dword [esp + 0x10], eax
jmp 0x4300e9
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], eax
jmp 0x4300bb
mov dword [esp + 0x2c], 0xa657
mov ecx, dword [esp + 0x24]
xor ecx, ecx
cmp dword [esi + 4], 0xfffffffa
setge cl
cmp ecx, 0xdabe
jne 0x430083
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
sub edx, ecx
je 0x430097
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
cmp edx, ecx
push 0
pop ecx
setne cl
inc ecx
imul ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], ecx
cmp dword [esp + 0x2c], eax
jne 0x4300c2
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xfffffffe
je 0x430062
mov dword [esp + 0x18], eax
jmp 0x4300de
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0xb8]
mov dword [ecx + edx*4], 0xb1b2b150
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 4
jl 0x4300c8
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xfffffff0
jge 0x430058
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xfffffffe
jg 0x43003f
lea ecx, [esp + 0xb8]
call fcn.004014c9
xor esi, esi
inc esi
jmp 0x4301ae
xor esi, esi
inc esi
mov dword [esp + 0x28], esi
mov dword [esp + 0xc], eax
jmp 0x430137
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x158], 0xb643
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x430124
mov dword [esp + 0x1c], eax
jmp 0x4301a7
mov dword [esp + 0x24], 0xb805
mov dword [esp + 0x24], 0x9d599618
mov ecx, dword [esp + 0x1c]
cmp dword [esp + ecx*4 + 0x158], eax
jne 0x4301ae
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov dword [esp + ecx*4 + 0x158], 0xfffa
imul ecx, dword [esp + 0x28], 0xfffa
mov dword [esp + 0x24], ecx
cmp dword [esp + 0x24], eax
je 0x430197
cmp dword [esp + 0x160], eax
je 0x430197
mov edx, esi
cmp dword [esp + 0x20], eax
jne 0x430199
mov edx, eax
mov ecx, dword [esp + 0x10]
add ecx, edx
mov dword [esp + 0x24], ecx
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 2
jle 0x430144
mov dword [esp + 0x2c], 0xffffffff
lea ecx, [esp + 0x170]
push esi
call fcn.004013f7
mov dword [esp + 0x28], 0xe7071658
xor eax, eax
mov dword [esp + 0x24], 0x8625
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], 0xfffffff6
mov dword [esp + 0xc], eax
jmp 0x4301fd
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x170]
mov dword [ecx + edx*4], 0xbde64f6c
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x4301e7
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
dec edx
neg edx
sbb edx, edx
neg edx
sub ecx, edx
je 0x43023d
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], al
je 0x430293
push eax
push 0xd5f
push eax
call dword [0xa651f0]
push eax
call dword [0xa651e8]
push eax
call dword [0xa6504c]
jmp 0x430293
mov dword [esp + 0xc], eax
mov dword [esp + 0x28], 0xfffffff6
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc], esi
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
cmp edx, ecx
mov edx, dword [esp + 0xc]
push 0
pop ecx
setge cl
sub edx, ecx
mov ecx, dword [esp + 0x170]
sub edx, dword [ecx]
jne 0x430278
cmp dword [esp + 0xc], eax
je 0x43027a
mov eax, esi
xor edx, edx
cmp eax, 0x23cb8e00
mov eax, dword [esp + 0x18]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [esp + 0x28], ecx
lea ecx, [esp + 0x170]
call fcn.004014c9
push 3
lea ecx, [esp + 0x18c]
call fcn.004013f7
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x4302c5
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x40], 0xe3556834
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x4302b5
mov dword [esp + 0x10], eax
jmp 0x4302e3
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x188]
mov dword [ecx + edx*4], esi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x4302d1
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], al
je 0x43030d
push 0x18fd
push 0xc54
call dword [0xa651f0]
push eax
call dword [0xa651b0]
xor eax, eax
mov esi, dword [esp + 0x188]
mov dword [esi + 8], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0xc], eax
cmp dword [esp + ecx*4 + 0x40], eax
jne 0x43034f
mov dword [esp + 0xc], eax
jmp 0x430344
mov ecx, dword [esi + 8]
mov ecx, dword [esp + ecx*4 + 0x40]
mov ecx, dword [esi + 8]
mov edx, dword [esp + ecx*4 + 0x40]
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x40], edx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], eax
jle 0x43032a
dec dword [esi + 8]
jns 0x430317
lea ecx, [esp + 0x188]
call fcn.004014c9
cmp dword [esp + 0xa4], 0
je 0x43061a
mov dword [esp + 0xc], 0xd313dd33
lea ecx, [esp + 0x1d0]
mov dword [esp + 0x10], 0
mov dword [esp + 0x30], 0xd87e3bc4
mov dword [esp + 0x30], 0xd59ff446
push 2
call fcn.004013f7
push 3
pop esi
push esi
lea ecx, [esp + 0x1bc]
call fcn.004013f7
xor eax, eax
mov dword [esp + 0x1c], eax
jmp 0x4303c5
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1d0]
mov dword [ecx + edx*4], 0x73637828
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 2
jl 0x4303af
mov dword [esp + 0x1c], eax
jmp 0x4303e8
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1b8]
mov dword [ecx + edx*4], 0x1cc0e426
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], esi
jl 0x4303d2
mov dword [esp + 0x1c], eax
jmp 0x430407
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x244], 0x2c9d
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], esi
jl 0x4303f4
mov dword [esp + 0xc], 0xa
cmp dword [esp + 0xc], 0xffffffec
jg 0x430584
mov eax, dword [esp + 0x1b8]
mov edi, dword [esp + 0x1d0]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], 0xfff8
lea ecx, [esp + 0x1a0]
mov dword [esp + 0x28], 0x5240ca70
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x28], 0x57a67d92
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x24], 0xfffffffd
mov dword [esp + 0x2c], 0xfffffffa
mov dword [esp + 0x24], 0x1031c36b
push 1
call fcn.004013f7
xor eax, eax
mov dword [esp + 0x24], 0x5623
mov dword [esp + 0x18], eax
jmp 0x4304a6
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1a0]
mov dword [ecx + edx*4], 0x29ed7d41
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 1
jl 0x430490
mov ecx, dword [esp + 0x20]
inc dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
sub edx, dword [esp + 0x10]
neg edx
push 0
sbb edx, edx
add edx, 0x739032f9
mov dword [esp + 0x248], edx
mov ecx, dword [esp + 0x2c]
cmp edx, ecx
pop ecx
setg cl
xor edx, edx
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x2c]
cmp dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x1c]
setl dl
mov dword [esp + 0x2c], edx
xor edx, edx
push 0
mov esi, dword [ecx + 8]
mov ecx, dword [esp + 0x30]
add ecx, 0x5ce
cmp ecx, esi
setne dl
xor ecx, ecx
cmp edx, esi
setl cl
add ecx, 0xffff
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
cmp edx, ecx
mov edx, dword [esp + 0x24]
pop ecx
setge cl
sub edx, ecx
mov ecx, dword [esp + 0x1a0]
sub edx, dword [ecx]
mov dword [ecx], edx
mov dword [esp + 0x24], edx
cmp dword [esp + 0x30], eax
je 0x430553
cmp dword [esp + 0x244], eax
je 0x430553
xor eax, eax
inc eax
xor edx, edx
cmp eax, dword [edi + 4]
mov eax, dword [esp + 0xc]
setl dl
xor ecx, ecx
cmp eax, edx
setg cl
mov dword [edi + 4], ecx
lea ecx, [esp + 0x1a0]
call fcn.004014c9
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xffffffec
jle 0x430432
lea ecx, [esp + 0x1b8]
call fcn.004014c9
lea ecx, [esp + 0x1d0]
call fcn.004014c9
push 0x3261
push 0x5d1b
push 0x7edb
xor esi, esi
inc esi
push esi
push esi
push dword [esp + 0xb8]
push 0x3d43
call fcn.0042da9b
add esp, 0x1c
push dword [esp + 0xa4]
call fcn.0045bc5d
mov dword [esp + 0x10], 0xf5540d7f
mov edi, eax
mov dword [esp + 0x34], 0xe9d0
pop ecx
mov dword [esp + 0xc], 0xfffffff0
jmp 0x430605
mov byte [esp + 0x17], 0
cmp byte [esp + 0x17], 0
je 0x430601
push 0
call dword [0xa65048]
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0x13
jl 0x4305ed
lea eax, [esp + 0x44]
push eax
call fcn.00430ed1
mov dword [eax], edi
jmp 0x43061d
xor esi, esi
inc esi
push esi
lea ecx, [esp + 0xd8]
call fcn.004013f7
xor eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0xc], eax
cmp dword [esp + 0xc], esi
jge 0x43065c
push dword [esp + 0xc]
lea ecx, [esp + 0xd8]
call fcn.004014e5
mov dword [eax], 0x1713b910
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x43063a
xor eax, eax
mov dword [esp + 0x20], eax
cmp dword [esp + 0x20], eax
jg 0x4306f8
mov dword [esp + 0xc], 0x51c76d7b
lea ecx, [esp + 0xd4]
mov dword [esp + 0x30], eax
push dword [esp + 0x20]
call fcn.004014e5
push dword [esp + 0x20]
lea ecx, [esp + 0xd8]
mov esi, eax
call fcn.004014e5
mov ecx, dword [esi]
push dword [esp + 0x20]
mov dword [eax], ecx
lea ecx, [esp + 0xd8]
call fcn.004014e5
mov ecx, eax
xor eax, eax
cmp dword [ecx], eax
jne 0x4306f5
mov dword [esp + 0xc], eax
jmp 0x4306e1
push 0xfffffffffffffff8
pop ecx
mov dword [esp + 0x30], ecx
xor edx, edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x28], 2
mov ecx, dword [esp + 0x30]
cmp ecx, 1
setle dl
mov dword [esp + 0x28], edx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], eax
jle 0x4306ba
inc dword [esp + 0x20]
cmp dword [esp + 0x20], eax
jle 0x43066a
xor esi, esi
inc esi
lea ecx, [esp + 0xd4]
call fcn.004014c9
lea ecx, [esp + 0xa0]
call fcn.00421719
mov dword [esp + 0x20], 0xd6c05baf
mov dword [esp + 0x30], esi
mov dword [esp + 0x20], 0xfffffffd
jmp 0x43079e
mov dword [esp + 0x18], 0xeede0b40
mov dword [esp + 0x18], 0xffffffea
jmp 0x430793
push 2
lea ecx, [esp + 0x1ec]
call fcn.004013f7
mov dword [esp + 0xc], 0
jmp 0x430763
push dword [esp + 0xc]
call fcn.004014e5
mov dword [eax], 0x6f7fbf21
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
lea ecx, [esp + 0x1e8]
jl 0x430750
push 0
call fcn.004014e5
mov ecx, 0x91c5534b
mov dword [eax], ecx
mov dword [esp + 0x30], ecx
lea ecx, [esp + 0x1e8]
call fcn.004014c9
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0xfffffffb
jge 0x430738
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 0xd
jge 0x430726
test edi, edi
je 0x430c77
mov eax, 0xb3ae3556
lea ecx, [esp + 0x250]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], eax
push 3
call fcn.004013f7
mov dword [esp + 0x30], 0xb15d3e99
mov dword [esp + 0x30], 0x73ae4c7b
mov dword [esp + 0x24], 0x138b
mov dword [esp + 0xc], 0
jmp 0x430818
push dword [esp + 0xc]
lea ecx, [esp + 0x254]
call fcn.004014e5
mov dword [eax], 0x7c7747bb
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x4307fe
mov dword [esp + 0xcc], 0xffffffec
jmp 0x430857
mov dword [esp + 0xc], 0x111738ab
mov dword [esp + 0xc], 0x17
jmp 0x430849
cmp dword [esp + 0xc], 0
jne 0x430850
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xb
jge 0x43083e
dec dword [esp + 0xcc]
cmp dword [esp + 0xcc], 0xffffffe9
jge 0x43082c
inc dword [esp + 0x24]
lea ecx, [esp + 0x250]
call fcn.004014c9
mov edx, dword [esp + 0x34]
mov ecx, edi
call fcn.0042e8f2
push esi
lea ecx, [esp + 0x58]
mov dword [esp + 0x6c], eax
call fcn.004013f7
push 2
lea ecx, [esp + 0x98]
call fcn.004013f7
mov dword [esp + 0xc], 0x89b1ab44
mov eax, 0xdc99220c
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x30], 0xfffffff8
mov dword [esp + 0x10], 0
jmp 0x4308e4
push dword [esp + 0x10]
lea ecx, [esp + 0x58]
call fcn.004014e5
mov dword [eax], 0x198a8f93
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x4308cd
mov dword [esp + 0x10], 0
jmp 0x430907
push dword [esp + 0x10]
call fcn.004014e5
mov dword [eax], 0xa18885c6
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
lea ecx, [esp + 0x94]
jl 0x4308f4
push esi
call fcn.004014e5
and dword [eax], 0
mov dword [esp + 0x1c], 0xfffffff8
lea ecx, [esp + 0x230]
mov dword [esp + 0x20], 0xe2e16658
push 2
call fcn.004013f7
mov dword [esp + 0xc], 0
jmp 0x430960
push dword [esp + 0xc]
lea ecx, [esp + 0x234]
call fcn.004014e5
mov dword [eax], 0x687c
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x430946
push esi
lea ecx, [esp + 0x98]
call fcn.004014e5
mov esi, eax
lea ecx, [esp + 0x54]
push dword [esi]
call fcn.004014e5
mov edi, eax
cmp dword [edi], 0
je 0x4309e8
push 0
lea ecx, [esp + 0x98]
call fcn.004014e5
push 0
mov ecx, dword [eax]
mov dword [edi], ecx
lea ecx, [esp + 0x58]
call fcn.004014e5
mov ecx, 0xca968364
mov dword [eax], 0xa37b
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0x1c]
cmp ecx, eax
sbb eax, eax
inc eax
cmp eax, 0xde637c5b
sbb ecx, ecx
imul eax, dword [esp + 0xc], 0xa37b
inc ecx
xor edx, edx
cmp eax, ecx
setle dl
xor eax, eax
cmp edx, 4
setne al
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x84], 0x8c537847
jne 0x430c07
mov eax, dword [esi]
xor edi, edi
inc edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1c], 0
jmp 0x430bfa
push edi
lea ecx, [esp + 0x204]
call fcn.004013f7
mov dword [esp + 0xc], 0
jmp 0x430a44
push dword [esp + 0xc]
lea ecx, [esp + 0x204]
call fcn.004014e5
mov dword [eax], 0xfffffffe
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x430a2a
push edi
lea ecx, [esp + 0x98]
call fcn.004014e5
mov ecx, dword [esp + 0x1c]
mov edi, eax
imul esi, dword [esp + ecx*4 + 0x78], 0xfffffff7
lea ecx, [esp + 0x54]
push dword [edi]
call fcn.004014e5
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
push 0
lea ecx, [esp + 0x204]
mov dword [eax], esi
call fcn.004014e5
push dword [edi]
mov esi, eax
lea ecx, [esp + 0x58]
mov dword [esp + 0x38], esi
call fcn.004014e5
mov ecx, dword [esp + 0x1c]
mov edx, dword [eax]
imul edx, dword [esi]
cmp edx, dword [esp + ecx*4 + 0x78]
jg 0x430ab1
cmp dword [esp + 0x18], 0
je 0x430ab1
xor esi, esi
inc esi
jmp 0x430ab3
xor esi, esi
push dword [edi]
lea ecx, [esp + 0x58]
call fcn.004014e5
xor ecx, ecx
mov edx, dword [eax]
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
add eax, esi
cmp edx, eax
sete cl
cmp ecx, edx
jl 0x430be7
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x2c], 0xce99c241
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + eax*4 + 0x78]
mov dword [esp + 0xc], eax
xor eax, eax
cmp dword [esp + 0xc], eax
je 0x430b0a
cmp dword [esp + 0x24], eax
je 0x430b0a
xor esi, esi
inc esi
jmp 0x430b0c
mov esi, eax
cmp dword [esp + 0x84], eax
jne 0x430b21
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x34], eax
cmp dword [ecx], eax
je 0x430b29
mov dword [esp + 0x34], 1
push eax
lea ecx, [esp + 0x58]
call fcn.004014e5
xor ecx, ecx
cmp dword [esp + 0x34], ecx
sete cl
xor edx, edx
sub esi, ecx
mov ecx, dword [esp + 0x18]
cmp esi, ecx
setl dl
cmp edx, dword [eax]
je 0x430b58
cmp dword [esp + 0x24], 0
jne 0x430b58
xor esi, esi
jmp 0x430b5b
xor esi, esi
inc esi
push dword [edi]
lea ecx, [esp + 0x58]
call fcn.004014e5
mov ecx, dword [eax]
lea eax, [esi + ecx]
imul eax, eax, 0x29d3
test eax, eax
jne 0x430b7d
test ecx, ecx
jne 0x430b7d
xor edx, edx
jmp 0x430b80
xor edx, edx
inc edx
mov eax, dword [esp + 0x18]
xor ecx, ecx
push dword [edi]
cmp edx, eax
setge cl
mov dword [esp + 0x34], ecx
lea ecx, [esp + 0x58]
call fcn.004014e5
mov ecx, dword [esp + 0x30]
xor edx, edx
cmp ecx, 0xb868
mov dword [eax], ecx
setle dl
sub edx, dword [edi]
xor ecx, ecx
mov eax, dword [esp + 0x84]
cmp edx, eax
setne cl
mov dword [esp + 0x2c], ecx
cmp dword [esp + 0x2c], 0
je 0x430bd6
mov eax, dword [esp + 0x1c]
cmp dword [esp + eax*4 + 0x78], 0
je 0x430bd6
xor ecx, ecx
inc ecx
jmp 0x430bd8
xor ecx, ecx
xor eax, eax
cmp ecx, 0xc1ab
setle al
mov dword [esp + 0x30], eax
lea ecx, [esp + 0x200]
call fcn.004014c9
inc dword [esp + 0x1c]
push 1
pop edi
cmp dword [esp + 0x1c], 3
jle 0x430a13
jmp 0x430c17
mov dword [esp + 0x30], 0xffffffff
mov eax, dword [esp + 0x20]
mov dword [esp + 0x30], eax
mov byte [esp + 0x17], 0
cmp byte [esp + 0x17], 0
je 0x430c2e
push 0x226b
call dword [0xa650b8]
lea ecx, [esp + 0x230]
call fcn.004014c9
xor esi, esi
lea ecx, [esp + 0x94]
inc esi
push esi
call fcn.004014e5
dec dword [eax]
jns 0x43091e
lea ecx, [esp + 0x94]
call fcn.004014c9
lea ecx, [esp + 0x54]
call fcn.004014c9
lea eax, [esp + 0x64]
push eax
call fcn.00430e6f
mov ecx, dword [esp + 0x68]
mov dword [eax], ecx
push esi
lea ecx, [esp + 0x21c]
call fcn.004013f7
push 2
pop edi
mov dword [esp + 0xc], edi
mov dword [esp + 0xc], 0
jmp 0x430ca8
push dword [esp + 0xc]
call fcn.004014e5
mov dword [eax], 0x7cb3
inc dword [esp + 0xc]
lea ecx, [esp + 0x218]
cmp dword [esp + 0xc], esi
jl 0x430c95
push 0
call fcn.004014e5
mov edx, eax
mov ecx, dword [edx]
mov dword [esp + 0xc], ecx
mov dword [esp + 0xc], 0x1d
jmp 0x430cf9
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x30], edi
mov dword [esp + 0x18], 0
jmp 0x430cee
mov eax, dword [edx]
mov dword [esp + 0x30], eax
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xffffffee
jle 0x430ce4
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xfffffff0
jl 0x430cce
lea ecx, [esp + 0x218]
call fcn.004014c9
mov eax, dword [ebp + 8]
lea esi, [esp + 0x68]
mov edi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov esp, ebp
pop ebp
ret