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

Disassembly:
mov ecx, dword [esp + 8]
sub esp, 0x6dc
test ecx, ecx
push ebx
mov dword [esp + 8], ecx
push esi
push edi
push ebp
jle 0x4412e3
mov eax, dword [esp + 0x6f0]
mov edx, eax
mov dword [esp + 0xbc], eax
and edx, 0x7f800000
and eax, 0x80000000
mov ecx, eax
xor ecx, dword [esp + 0xbc]
test eax, eax
je 0x43ecd2
fld dword [esp + 0x6f0]
fchs
fstp dword [esp + 0x6f0]
test edx, edx
je 0x43ed9a
cmp edx, 0x7f800000
je 0x43ed9a
mov esi, dword [esp + 0x710]
cmp eax, 1
sbb eax, eax
shr edx, 0x17
and eax, 6
sub eax, 3
sub edx, 0x7e
mov dword [esi], eax
mov dword [esp + 0x34], edx
mov eax, 0x18
sub eax, edx
test edx, edx
mov dword [esp + 0x64], eax
jle 0x43ed8c
test eax, eax
jle 0x43ed8c
fld dword [esp + 0x6f0]
fadd dword [0x460548]
mov eax, dword [esp + 0x6f0]
mov dword [esp + 0x8c], eax
fstp dword [esp + 0x220]
fld dword [esp + 0x220]
fsub dword [0x460548]
fcom dword [esp + 0x8c]
fstp dword [esp + 0x6f0]
fnstsw ax
test ah, 0x41
jne 0x43ed6f
fld dword [esp + 0x6f0]
fsub dword [0x46054c]
fstp dword [esp + 0x6f0]
fld dword [esp + 0x6f0]
fcomp dword [esp + 0x8c]
fnstsw ax
test ah, 0x40
je 0x43ed8c
mov dword [esp + 0x64], 0
shr ecx, 7
sub ecx, 0x7f0000
jmp 0x43ee91
cmp edx, ecx
je 0x4411c9
test edx, edx
je 0x43ee0e
mov esi, dword [esp + 0x710]
mov eax, 0x473b68
mov ecx, dword [esp + 0x700]
mov dword [esi], 0
cmp byte [0x473b68], 0
mov dword [esp + 0x10], ecx
je 0x43edde
mov dl, byte [eax]
mov ecx, dword [esp + 0x10]
inc eax
inc dword [esp + 0x10]
mov byte [ecx], dl
cmp byte [eax], 0
jne 0x43edcc
mov eax, dword [esp + 0x700]
mov ecx, dword [esp + 0x10]
sub ecx, eax
mov edx, dword [esp + 0x70c]
xor esi, esi
mov dword [edx], ecx
test byte [esp + 0x6ff], 0x40
je 0x441306
mov esi, 0xa
jmp 0x441306
mov esi, dword [esp + 0x710]
cmp eax, 1
sbb eax, eax
and eax, 4
sub eax, 2
test byte [esp + 0x6ff], 0x10
mov dword [esi], eax
jne 0x44124e
mov eax, dword [esp + 0x6f0]
mov ecx, eax
mov dword [esp + 0xb8], eax
and ecx, 0x7f800000
shr ecx, 0x17
test ecx, ecx
je 0x43ee57
or eax, 0xff800000
shl eax, 8
jmp 0x43ee70
mov eax, dword [esp + 0xb8]
xor edx, edx
shl eax, 9
test eax, eax
jle 0x43ee6e
add eax, eax
inc edx
test eax, eax
jg 0x43ee67
sub ecx, edx
sub ecx, 0x7e
and eax, 0x7fff8000
shr eax, 0xf
dec ecx
mov dword [esp + 0x34], 0
mov dword [esp + 0x64], 0x18
shl ecx, 0x10
or ecx, eax
mov eax, 0x4d104d42
test ecx, ecx
jge 0x43ee9f
mov eax, 0x4d104d43
mov dword [esp + 0x21c], ecx
mov dword [esp + 0x218], eax
mov eax, dword [esp + 0x21c]
imul dword [esp + 0x218]
mov dword [esp + 0x214], edx
mov esi, dword [esp + 0x214]
mov eax, dword [esp + 0x6fc]
sar esi, 0x10
and eax, 2
inc esi
mov dword [esp + 0x88], eax
mov edx, dword [esp + 0x70c]
cmp dword [esp + 0x88], 0
mov dword [edx], esi
je 0x43ef3d
cmp dword [esp + 0x6f8], 0
jl 0x4412e3
mov eax, dword [esp + 0x6f8]
add eax, esi
mov dword [esp + 0x14], eax
cmp dword [esp + 0x6f4], eax
jge 0x43ef22
mov ecx, dword [esp + 0x6f4]
mov dword [esp + 0x14], ecx
jmp 0x43ef3d
cmp dword [esp + 0x14], 0
jl 0x44124e
jne 0x43ef3d
test byte [esp + 0x6fe], 0x40
jne 0x44124e
neg esi
mov dword [esp + 0x18], esi
test esi, esi
jne 0x43efa1
mov eax, dword [esp + 0x6f0]
mov dword [esp + 0xb4], eax
and eax, 0x7f800000
shr eax, 0x17
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
test eax, eax
je 0x43ef77
or ecx, 0xff800000
shl ecx, 8
jmp 0x43ef8b
shl ecx, 9
xor eax, eax
test ecx, ecx
jle 0x43ef87
add ecx, ecx
inc eax
test ecx, ecx
jg 0x43ef80
sub dword [esp + 0x20], eax
mov esi, 1
mov dword [esp + 0x2b0], ecx
sub dword [esp + 0x20], 0x7e
jmp 0x440e01
cmp dword [esp + 0x14], 0xf
jl 0x43efc2
cmp dword [esp + 0x34], 0
jle 0x43f0b3
mov eax, dword [esp + 0x18]
add eax, 0xf
test eax, eax
jle 0x43f0b3
cmp dword [esp + 0x18], 0x24
jg 0x43f0b3
mov eax, dword [esp + 0x18]
fld qword [eax*8 + 0x461400]
fld qword [0x461208]
fmul st(1)
faddp st(1)
fmul dword [esp + 0x6f0]
fstp qword [esp + 0x224]
mov eax, dword [esp + 0x228]
and eax, 0x7ff00000
shr eax, 0x14
mov dword [esp + 0x20], eax
test eax, eax
je 0x43f02f
mov edx, dword [esp + 0x228]
mov eax, dword [esp + 0x224]
shr eax, 0x15
or edx, 0xfff00000
shl edx, 0xb
mov edi, dword [esp + 0x224]
shl edi, 0xb
or edx, eax
jmp 0x43f090
cmp dword [esp + 0x228], 0
je 0x43f073
mov edx, dword [esp + 0x228]
xor ebx, ebx
shl edx, 0xc
test edx, edx
jle 0x43f050
add edx, edx
inc ebx
test edx, edx
jg 0x43f049
mov eax, dword [esp + 0x224]
mov cl, 0x20
mov edi, dword [esp + 0x224]
sub dword [esp + 0x20], ebx
add ebx, 0xc
sub cl, bl
shr eax, cl
or edx, eax
mov cl, bl
shl edi, cl
jmp 0x43f090
mov edx, dword [esp + 0x224]
xor edi, edi
xor eax, eax
cmp edx, edi
jle 0x43f089
add edx, edx
inc eax
test edx, edx
jg 0x43f082
add eax, 0x14
sub dword [esp + 0x20], eax
mov dword [esp + 0x2b0], edx
mov dword [esp + 0x2b4], edi
sub dword [esp + 0x20], 0x3fe
cmp edi, 1
sbb esi, esi
add esi, 2
jmp 0x440e01
cmp dword [esp + 0x18], 0xfffffeaa
jl 0x43f0de
cmp dword [esp + 0x18], 0x159
jg 0x43f0de
cmp dword [esp + 0x14], 0x11
mov eax, 0x80
jg 0x43f0d8
mov eax, 0x40
mov dword [esp + 0x28], eax
jmp 0x43f0e6
mov dword [esp + 0x28], 0x80
mov eax, dword [esp + 0x6f0]
mov dword [esp + 0xb0], eax
and eax, 0x7f800000
shr eax, 0x17
mov dword [esp + 0x20], eax
test eax, eax
mov eax, dword [esp + 0xb0]
je 0x43f119
or eax, 0xff800000
shl eax, 8
mov dword [esp + 0x38], eax
jmp 0x43f139
shl eax, 9
xor ecx, ecx
mov dword [esp + 0x38], eax
cmp eax, ecx
jle 0x43f135
mov eax, dword [esp + 0x38]
inc ecx
add eax, eax
mov dword [esp + 0x38], eax
test eax, eax
jg 0x43f126
sub dword [esp + 0x20], ecx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x2b0], eax
mov dword [esp + 0x24], ecx
sub dword [esp + 0x20], 0x7e
cmp dword [esp + 0x28], 0x40
jne 0x43f61d
mov esi, 2
cmp ecx, 0xffffffd1
jl 0x43f1ba
cmp ecx, 0x2f
jg 0x43f1ba
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x230]
movsx ecx, word [ecx*2 + 0x460a56]
mov dword [esp + 0x1c], ecx
lea ecx, [eax*8 + 0x46087c]
mov eax, dword [ecx]
sub ecx, 4
mov dword [edx], eax
add edx, 4
lea eax, [esp + 0x234]
cmp edx, eax
jbe 0x43f189
cmp dword [esp + 0x234], 0
jne 0x440c24
sub eax, 4
dec esi
cmp dword [eax], 0
je 0x43f1ac
jmp 0x440c24
cmp dword [esp + 0x18], 0
jge 0x43f22c
mov edx, dword [esp + 0x18]
neg edx
mov ecx, edx
sar ecx, 3
mov ax, word [ecx*2 + 0x460b50]
shr ax, 5
movzx ebx, ax
cmp ebx, edx
jge 0x43f1e0
inc ecx
mov ax, word [ecx*2 + 0x460b50]
xor edx, edx
mov dx, ax
shr ax, 5
and edx, 0x1f
movzx ecx, ax
movsx eax, word [edx*2 + 0x460b30]
add ecx, dword [esp + 0x18]
lea edi, [edx*8 + 0x460abc]
lea edx, [esp + 0x2f0]
mov dword [esp + 0x30], eax
mov eax, dword [edi]
sub edi, 4
mov dword [edx], eax
add edx, 4
lea eax, [esp + 0x2f4]
cmp edx, eax
jbe 0x43f215
jmp 0x43f295
mov ecx, dword [esp + 0x18]
sar ecx, 3
mov ax, word [ecx*2 + 0x460c42]
shr ax, 5
movzx edx, ax
cmp edx, dword [esp + 0x18]
jg 0x43f249
inc ecx
mov ax, word [ecx*2 + 0x460c40]
xor edx, edx
mov dx, ax
mov ecx, dword [esp + 0x18]
shr ax, 5
and edx, 0x1f
movzx ebx, ax
movsx eax, word [edx*2 + 0x460c20]
sub ecx, ebx
lea edx, [edx*8 + 0x460bbc]
lea edi, [esp + 0x2f0]
mov dword [esp + 0x30], eax
mov eax, dword [edx]
sub edx, 4
mov dword [edi], eax
add edi, 4
lea eax, [esp + 0x2f4]
cmp edi, eax
jbe 0x43f280
movsx eax, word [ecx*2 + 0x460a56]
lea ecx, [ecx*8 + 0x46087c]
lea edx, [esp + 0x230]
mov dword [esp + 0x1c], eax
mov eax, dword [ecx]
sub ecx, 4
mov dword [edx], eax
add edx, 4
lea eax, [esp + 0x234]
cmp edx, eax
jbe 0x43f2af
cmp dword [esp + 0x234], 0
jne 0x43f2d7
sub eax, 4
dec esi
cmp dword [eax], 0
je 0x43f2ce
lea ebx, [esi + 1]
mov ecx, dword [esp + esi*4 + 0x22c]
mov eax, dword [esp + 0x2f4]
mov dword [esp + 0x210], ecx
mov dword [esp + 0x20c], eax
mov eax, dword [esp + 0x210]
mul dword [esp + 0x20c]
mov dword [esp + 0x208], eax
mov dword [esp + 0x204], edx
lea edi, [ebx*4]
mov eax, dword [esp + 0x208]
mov edx, dword [esp + 0x204]
lea ebp, [esp + 0x2f0]
dec ebx
mov dword [esp + edi + 0x3b0], eax
mov dword [esp + edi + 0x66c], 0
mov dword [esp + edi + 0x3ac], edx
mov eax, dword [ebp]
mov dword [esp + 0x200], ecx
mov dword [esp + 0x1fc], eax
mov eax, dword [esp + 0x200]
mul dword [esp + 0x1fc]
mov dword [esp + 0x1f8], eax
mov dword [esp + 0x1f4], edx
mov edx, dword [esp + 0x1f8]
mov eax, dword [esp + edi + 0x3ac]
add eax, edx
mov dword [esp + edi + 0x3ac], eax
cmp eax, edx
mov eax, 1
adc eax, 0xffffffff
sub edi, 4
add eax, dword [esp + 0x1f4]
sub ebp, 4
mov dword [esp + edi + 0x3ac], eax
lea eax, [esp + 0x2ec]
cmp ebp, eax
jne 0x43f348
mov dword [esp + ebx*4 + 0x66c], 0
dec ebx
js 0x43f3e7
lea edi, [esp + ebx*4 + 0x3ac]
lea edx, [ebx*4]
inc ebx
xor eax, eax
std
mov ecx, ebx
rep stosd dword es:[edi], eax
lea edi, [esp + edx + 0x66c]
mov ecx, ebx
cld
std
rep stosd dword es:[edi], eax
cld
lea eax, [esi - 1]
test eax, eax
je 0x43f4a5
lea ebx, [esp + eax*4 + 0x22c]
lea ecx, [eax*4 + 8]
mov edi, ecx
lea ebp, [esp + 0x2f4]
mov eax, dword [ebx]
mov edx, dword [ebp]
mov dword [esp + 0x1f0], eax
mov dword [esp + 0x1ec], edx
mov eax, dword [esp + 0x1f0]
mul dword [esp + 0x1ec]
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1e4], edx
mov eax, dword [esp + 0x1e8]
mov edx, dword [esp + edi + 0x3ac]
add edx, eax
mov dword [esp + edi + 0x3ac], edx
cmp edx, eax
mov eax, 1
mov edx, dword [esp + edi + 0x3a8]
adc eax, 0xffffffff
add eax, dword [esp + 0x1e4]
add edx, eax
mov dword [esp + edi + 0x3a8], edx
cmp edx, eax
mov eax, 1
adc eax, 0xffffffff
sub edi, 4
sub ebp, 4
add dword [esp + edi + 0x668], eax
lea eax, [esp + 0x2ec]
cmp ebp, eax
jne 0x43f409
sub ebx, 4
sub ecx, 4
cmp ecx, 8
jne 0x43f400
lea edx, [esp + esi*4 + 0x234]
mov ecx, dword [esp + esi*4 + 0x3b4]
add esi, 2
mov eax, dword [esp + 0x30]
xor edi, edi
add dword [esp + 0x1c], eax
lea eax, [esi - 1]
mov dword [edx], ecx
test eax, eax
je 0x43f4f6
lea ecx, [eax*4]
add edi, dword [esp + ecx + 0x66c]
mov eax, dword [esp + ecx + 0x3ac]
add eax, edi
mov dword [esp + ecx + 0x22c], eax
cmp eax, edi
mov edi, 1
adc edi, 0xffffffff
sub ecx, 4
jne 0x43f4d0
cmp dword [edx], 0
jne 0x43f504
sub edx, 4
dec esi
cmp dword [edx], 0
je 0x43f4fb
cmp dword [esp + 0x230], 0
jle 0x43f53b
shl dword [esp + 0x230], 1
dec dword [esp + 0x1c]
cmp esi, 2
jb 0x43f53b
lea ecx, [esp + 0x234]
lea eax, [esi - 1]
mov edx, dword [ecx]
add ecx, 4
shr edx, 0x1f
or dword [ecx - 8], edx
shl dword [ecx - 4], 1
dec eax
jne 0x43f529
cmp dword [esp + esi*4 + 0x22c], 0
jne 0x43f546
dec esi
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x28]
shr eax, 5
and edx, 0x1f
xor ecx, ecx
mov ebx, 1
cmp ecx, edx
adc ebx, 0xffffffff
lea ebp, [ebx + eax]
cmp esi, ebp
jb 0x440c24
mov esi, ebp
test ebx, ebx
je 0x43f57e
mov edi, 1
mov cl, 0x1f
sub cl, dl
shl edi, cl
jmp 0x43f58f
cmp dword [esp + ebp*4 + 0x230], 0
mov edi, 1
jl 0x43f58f
xor edi, edi
test ebp, ebp
je 0x440c14
lea ecx, [esp + ebp*4 + 0x22c]
mov edx, dword [ecx]
add edx, edi
mov dword [ecx], edx
cmp edx, edi
jae 0x43f5f4
lea eax, [esp + ebp*4 + 0x228]
lea esi, [ebp - 1]
mov dword [esp + 0x22c], 0
cmp dword [eax], 0xffffffff
jne 0x43f5cb
sub eax, 4
dec esi
cmp dword [eax], 0xffffffff
je 0x43f5c2
test esi, esi
je 0x43f5db
inc dword [esp + esi*4 + 0x22c]
jmp 0x440c24
mov dword [esp + 0x230], 0x80000000
mov esi, 1
add dword [esp + 0x1c], esi
jmp 0x440c24
test ebx, ebx
je 0x43f606
lea eax, [edi*2]
dec eax
not eax
and eax, edx
mov dword [ecx], eax
cmp dword [ecx], 0
jne 0x440c24
sub ecx, 4
dec esi
cmp dword [ecx], 0
je 0x43f60f
jmp 0x440c24
mov dword [esp + 0x44], 4
xor ebx, ebx
cmp dword [esp + 0x18], 0xfffffdea
jge 0x43fa62
mov dword [esp + 0xac], 0x1000
mov dword [esp + 0xa8], 0x460ec4
mov dword [esp + 0x84], 0x460ece
mov eax, dword [esp + 0xac]
neg eax
cmp eax, dword [esp + 0x24]
jl 0x43fa34
mov ecx, dword [esp + 0xac]
add dword [esp + 0x24], ecx
test ebx, ebx
je 0x43f9fe
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0xa8]
movsx ecx, word [eax]
mov dword [esp + 0x30], ecx
lea ecx, [esp + 0x2f0]
mov eax, dword [edx]
sub edx, 4
mov dword [ecx], eax
add ecx, 4
lea eax, [esp + 0x2fc]
cmp ecx, eax
jbe 0x43f698
lea esi, [ebx + 3]
mov ecx, dword [esp + ebx*4 + 0x26c]
mov eax, dword [esp + 0x2fc]
mov dword [esp + 0x1e0], ecx
mov dword [esp + 0x1dc], eax
mov eax, dword [esp + 0x1e0]
mul dword [esp + 0x1dc]
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x1d4], edx
lea edi, [esi*4]
mov eax, dword [esp + 0x1d8]
mov edx, dword [esp + 0x1d4]
lea ebp, [esp + 0x2f8]
mov dword [esp + edi + 0x370], eax
xor eax, eax
sub esi, 3
mov dword [esp + edi + 0x36c], edx
lea edx, [esp + edi + 0x62c]
mov dword [edx], eax
mov dword [edx - 4], eax
mov dword [edx - 8], eax
mov eax, dword [ebp]
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x1cc], eax
mov eax, dword [esp + 0x1d0]
mul dword [esp + 0x1cc]
mov dword [esp + 0x1c8], eax
mov dword [esp + 0x1c4], edx
mov edx, dword [esp + 0x1c8]
mov eax, dword [esp + edi + 0x36c]
add eax, edx
mov dword [esp + edi + 0x36c], eax
cmp eax, edx
mov eax, 1
adc eax, 0xffffffff
sub edi, 4
add eax, dword [esp + 0x1c4]
sub ebp, 4
mov dword [esp + edi + 0x36c], eax
lea eax, [esp + 0x2ec]
cmp ebp, eax
jne 0x43f726
mov dword [esp + esi*4 + 0x62c], 0
dec esi
js 0x43f7c5
lea edi, [esp + esi*4 + 0x36c]
lea edx, [esi*4]
inc esi
xor eax, eax
std
mov ecx, esi
rep stosd dword es:[edi], eax
lea edi, [esp + edx + 0x62c]
mov ecx, esi
cld
std
rep stosd dword es:[edi], eax
cld
lea eax, [ebx - 1]
test eax, eax
je 0x43f882
lea edi, [esp + eax*4 + 0x26c]
lea ebp, [eax*4 + 0x10]
mov ecx, ebp
lea esi, [esp + 0x2fc]
mov eax, dword [edi]
mov edx, dword [esi]
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1bc], edx
mov eax, dword [esp + 0x1c0]
mul dword [esp + 0x1bc]
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x1b4], edx
mov edx, dword [esp + 0x1b8]
mov eax, dword [esp + ecx + 0x36c]
add eax, edx
mov dword [esp + ecx + 0x36c], eax
cmp eax, edx
mov edx, 1
mov eax, dword [esp + ecx + 0x368]
adc edx, 0xffffffff
add edx, dword [esp + 0x1b4]
add eax, edx
mov dword [esp + ecx + 0x368], eax
cmp eax, edx
mov eax, 1
adc eax, 0xffffffff
sub ecx, 4
sub esi, 4
add dword [esp + ecx + 0x628], eax
lea eax, [esp + 0x2ec]
cmp esi, eax
jne 0x43f7e7
sub edi, 4
sub ebp, 4
cmp ebp, 0x10
jne 0x43f7de
lea edx, [esp + ebx*4 + 0x27c]
mov ecx, dword [esp + ebx*4 + 0x37c]
add ebx, 4
mov eax, dword [esp + 0x30]
xor esi, esi
add dword [esp + 0x2c], eax
lea eax, [ebx - 1]
mov dword [edx], ecx
test eax, eax
je 0x43f8d3
lea ecx, [eax*4]
add esi, dword [esp + ecx + 0x62c]
mov eax, dword [esp + ecx + 0x36c]
add eax, esi
mov dword [esp + ecx + 0x26c], eax
cmp eax, esi
mov esi, 1
adc esi, 0xffffffff
sub ecx, 4
jne 0x43f8ad
cmp dword [edx], 0
jne 0x43f8e1
sub edx, 4
dec ebx
cmp dword [edx], 0
je 0x43f8d8
cmp dword [esp + 0x270], 0
jle 0x43f918
shl dword [esp + 0x270], 1
dec dword [esp + 0x2c]
cmp ebx, 2
jb 0x43f918
lea ecx, [esp + 0x274]
lea eax, [ebx - 1]
mov edx, dword [ecx]
add ecx, 4
shr edx, 0x1f
or dword [ecx - 8], edx
shl dword [ecx - 4], 1
dec eax
jne 0x43f906
cmp dword [esp + ebx*4 + 0x26c], 0
jne 0x43f923
dec ebx
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x28]
shr eax, 5
and edx, 0x1f
xor ecx, ecx
mov edi, 1
cmp ecx, edx
adc edi, 0xffffffff
lea ebp, [eax + edi]
cmp ebp, ebx
ja 0x43fa34
mov ebx, ebp
test edi, edi
je 0x43f95b
mov esi, 1
mov cl, 0x1f
sub cl, dl
shl esi, cl
jmp 0x43f96c
cmp dword [esp + ebp*4 + 0x270], 0
mov esi, 1
jl 0x43f96c
xor esi, esi
test ebp, ebp
je 0x43f9ec
lea ecx, [esp + ebp*4 + 0x26c]
mov edx, dword [ecx]
add edx, esi
mov dword [ecx], edx
cmp esi, edx
jbe 0x43f9ca
lea eax, [esp + ebp*4 + 0x268]
lea ebx, [ebp - 1]
mov dword [esp + 0x26c], 0
cmp dword [eax], 0xffffffff
jne 0x43f9a4
sub eax, 4
dec ebx
cmp dword [eax], 0xffffffff
je 0x43f99b
test ebx, ebx
je 0x43f9b4
inc dword [esp + ebx*4 + 0x26c]
jmp 0x43fa34
mov dword [esp + 0x270], 0x80000000
mov ebx, 1
add dword [esp + 0x2c], ebx
jmp 0x43fa34
test edi, edi
je 0x43f9dc
lea eax, [esi*2]
dec eax
not eax
and eax, edx
mov dword [ecx], eax
cmp dword [ecx], 0
jne 0x43fa34
sub ecx, 4
dec ebx
cmp dword [ecx], 0
je 0x43f9e1
jmp 0x43fa34
mov ebx, esi
add dword [esp + 0x2c], esi
shl esi, 0x1f
mov dword [esp + 0x270], esi
jmp 0x43fa34
mov ebx, 4
mov eax, dword [esp + 0x84]
movsx ecx, word [eax]
lea edx, [esp + 0x270]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0xa8]
mov eax, dword [ecx]
sub ecx, 4
mov dword [edx], eax
add edx, 4
lea eax, [esp + 0x27c]
cmp edx, eax
jbe 0x43fa1f
sar dword [esp + 0xac], 1
sub dword [esp + 0xa8], 0x10
sub dword [esp + 0x84], 2
cmp dword [esp + 0x84], 0x460ec8
jae 0x43f656
jmp 0x43fe97
cmp dword [esp + 0x18], 0x216
jle 0x43fe97
mov dword [esp + 0xa4], 0x1000
mov dword [esp + 0xa0], 0x46104c
mov dword [esp + 0x80], 0x461056
mov ecx, dword [esp + 0x24]
cmp ecx, dword [esp + 0xa4]
jl 0x43fe6e
mov ecx, dword [esp + 0xa4]
sub dword [esp + 0x24], ecx
test ebx, ebx
je 0x43fe38
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0xa0]
movsx ecx, word [eax]
mov dword [esp + 0x30], ecx
lea ecx, [esp + 0x2f0]
mov eax, dword [edx]
sub edx, 4
mov dword [ecx], eax
add ecx, 4
lea eax, [esp + 0x2fc]
cmp ecx, eax
jbe 0x43fad1
lea esi, [ebx + 3]
mov ecx, dword [esp + ebx*4 + 0x26c]
mov eax, dword [esp + 0x2fc]
mov dword [esp + 0x1b0], ecx
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x1b0]
mul dword [esp + 0x1ac]
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x1a4], edx
lea edi, [esi*4]
mov eax, dword [esp + 0x1a8]
mov edx, dword [esp + 0x1a4]
lea ebp, [esp + 0x2f8]
mov dword [esp + edi + 0x330], eax
xor eax, eax
sub esi, 3
mov dword [esp + edi + 0x32c], edx
lea edx, [esp + edi + 0x5ec]
mov dword [edx], eax
mov dword [edx - 4], eax
mov dword [edx - 8], eax
mov eax, dword [ebp]
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x1a0]
mul dword [esp + 0x19c]
mov dword [esp + 0x198], eax
mov dword [esp + 0x194], edx
mov eax, dword [esp + 0x198]
mov edx, dword [esp + edi + 0x32c]
add edx, eax
mov dword [esp + edi + 0x32c], edx
cmp edx, eax
mov eax, 1
adc eax, 0xffffffff
sub edi, 4
add eax, dword [esp + 0x194]
sub ebp, 4
mov dword [esp + edi + 0x32c], eax
lea eax, [esp + 0x2ec]
cmp ebp, eax
jne 0x43fb5f
mov dword [esp + esi*4 + 0x5ec], 0
dec esi
js 0x43fbfe
lea edi, [esp + esi*4 + 0x32c]
lea edx, [esi*4]
inc esi
xor eax, eax
std
mov ecx, esi
rep stosd dword es:[edi], eax
lea edi, [esp + edx + 0x5ec]
mov ecx, esi
cld
std
rep stosd dword es:[edi], eax
cld
lea eax, [ebx - 1]
test eax, eax
je 0x43fcbc
lea edi, [esp + eax*4 + 0x26c]
lea ecx, [eax*4 + 0x10]
mov esi, ecx
lea ebp, [esp + 0x2fc]
mov eax, dword [edi]
mov edx, dword [ebp]
mov dword [esp + 0x190], eax
mov dword [esp + 0x18c], edx
mov eax, dword [esp + 0x190]
mul dword [esp + 0x18c]
mov dword [esp + 0x188], eax
mov dword [esp + 0x184], edx
mov edx, dword [esp + 0x188]
mov eax, dword [esp + esi + 0x32c]
add eax, edx
mov dword [esp + esi + 0x32c], eax
cmp eax, edx
mov edx, 1
mov eax, dword [esp + esi + 0x328]
adc edx, 0xffffffff
add edx, dword [esp + 0x184]
add eax, edx
mov dword [esp + esi + 0x328], eax
cmp eax, edx
mov eax, 1
adc eax, 0xffffffff
sub esi, 4
sub ebp, 4
add dword [esp + esi + 0x5e8], eax
lea eax, [esp + 0x2ec]
cmp ebp, eax
jne 0x43fc20
sub edi, 4
sub ecx, 4
cmp ecx, 0x10
jne 0x43fc17
lea edx, [esp + ebx*4 + 0x27c]
mov ecx, dword [esp + ebx*4 + 0x33c]
add ebx, 4
mov eax, dword [esp + 0x30]
xor esi, esi
add dword [esp + 0x2c], eax
lea eax, [ebx - 1]
mov dword [edx], ecx
test eax, eax
je 0x43fd0d
lea ecx, [eax*4]
add esi, dword [esp + ecx + 0x5ec]
mov eax, dword [esp + ecx + 0x32c]
add eax, esi
mov dword [esp + ecx + 0x26c], eax
cmp eax, esi
mov esi, 1
adc esi, 0xffffffff
sub ecx, 4
jne 0x43fce7
cmp dword [edx], 0
jne 0x43fd1b
sub edx, 4
dec ebx
cmp dword [edx], 0
je 0x43fd12
cmp dword [esp + 0x270], 0
jle 0x43fd52
shl dword [esp + 0x270], 1
dec dword [esp + 0x2c]
cmp ebx, 2
jb 0x43fd52
lea eax, [esp + 0x274]
lea ecx, [ebx - 1]
mov edx, dword [eax]
add eax, 4
shr edx, 0x1f
or dword [eax - 8], edx
shl dword [eax - 4], 1
dec ecx
jne 0x43fd40
cmp dword [esp + ebx*4 + 0x26c], 0
jne 0x43fd5d
dec ebx
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x28]
shr eax, 5
and edx, 0x1f
xor ecx, ecx
mov edi, 1
cmp ecx, edx
adc edi, 0xffffffff
lea ebp, [eax + edi]
cmp ebp, ebx
ja 0x43fe6e
mov ebx, ebp
test edi, edi
je 0x43fd95
mov esi, 1
mov cl, 0x1f
sub cl, dl
shl esi, cl
jmp 0x43fda6
cmp dword [esp + ebp*4 + 0x270], 0
mov esi, 1
jl 0x43fda6
xor esi, esi
test ebp, ebp
je 0x43fe26
lea ecx, [esp + ebp*4 + 0x26c]
mov edx, dword [ecx]
add edx, esi
mov dword [ecx], edx
cmp esi, edx
jbe 0x43fe04
lea eax, [esp + ebp*4 + 0x268]
lea ebx, [ebp - 1]
mov dword [esp + 0x26c], 0
cmp dword [eax], 0xffffffff
jne 0x43fdde
sub eax, 4
dec ebx
cmp dword [eax], 0xffffffff
je 0x43fdd5
test ebx, ebx
je 0x43fdee
inc dword [esp + ebx*4 + 0x26c]
jmp 0x43fe6e
mov dword [esp + 0x270], 0x80000000
mov ebx, 1
add dword [esp + 0x2c], ebx
jmp 0x43fe6e
test edi, edi
je 0x43fe16
lea eax, [esi*2]
dec eax
not eax
and eax, edx
mov dword [ecx], eax
cmp dword [ecx], 0
jne 0x43fe6e
sub ecx, 4
dec ebx
cmp dword [ecx], 0
je 0x43fe1b
jmp 0x43fe6e
mov ebx, esi
add dword [esp + 0x2c], esi
shl esi, 0x1f
mov dword [esp + 0x270], esi
jmp 0x43fe6e
mov ebx, 4
mov eax, dword [esp + 0x80]
movsx ecx, word [eax]
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0x270]
mov eax, dword [edx]
sub edx, 4
mov dword [ecx], eax
add ecx, 4
lea eax, [esp + 0x27c]
cmp ecx, eax
jbe 0x43fe59
sar dword [esp + 0xa4], 1
sub dword [esp + 0xa0], 0x10
sub dword [esp + 0x80], 2
cmp dword [esp + 0x80], 0x461050
jae 0x43fa91
cmp dword [esp + 0x24], 0xffffffe5
jl 0x43fefd
cmp dword [esp + 0x24], 0xffffffff
jg 0x43fefd
mov esi, 4
mov ecx, dword [esp + 0x24]
movsx eax, word [ecx*2 + 0x460e86]
lea edx, [esp + 0x230]
mov dword [esp + 0x1c], eax
mov eax, ecx
shl eax, 4
lea ecx, [eax + 0x460e5c]
mov eax, dword [ecx]
sub ecx, 4
mov dword [edx], eax
add edx, 4
lea eax, [esp + 0x23c]
cmp edx, eax
jbe 0x43fecc
cmp dword [esp + 0x23c], 0
jne 0x440869
sub eax, 4
dec esi
cmp dword [eax], 0
je 0x43feef
jmp 0x440869
cmp dword [esp + 0x24], 0
jge 0x43ff76
mov ecx, dword [esp + 0x24]
neg ecx
mov edx, ecx
sar edx, 3
mov ax, word [edx*2 + 0x460f88]
shr ax, 5
movzx ebp, ax
cmp ebp, ecx
jge 0x43ff23
inc edx
mov ax, word [edx*2 + 0x460f88]
mov ecx, dword [esp + 0x24]
xor edx, edx
mov dx, ax
shr ax, 5
and edx, 0x1f
movzx ebp, ax
movsx eax, word [edx*2 + 0x460f70]
shl edx, 4
add ecx, ebp
add edx, 0x460edc
lea esi, [esp + 0x2f0]
mov dword [esp + 0x30], eax
mov eax, dword [edx]
sub edx, 4
mov dword [esi], eax
add esi, 4
lea eax, [esp + 0x2fc]
cmp esi, eax
jbe 0x43ff5c
jmp 0x43fff6
cmp dword [esp + 0x24], 0x37
jl 0x43ffea
mov ecx, dword [esp + 0x24]
sar ecx, 3
mov ax, word [ecx*2 + 0x461112]
shr ax, 5
movzx edx, ax
cmp edx, dword [esp + 0x24]
jg 0x43ff9a
inc ecx
mov ax, word [ecx*2 + 0x461110]
xor edx, edx
mov dx, ax
mov ecx, dword [esp + 0x24]
shr ax, 5
and edx, 0x1f
movzx ebp, ax
movsx eax, word [edx*2 + 0x4610f8]
shl edx, 4
sub ecx, ebp
add edx, 0x461064
lea esi, [esp + 0x2f0]
mov dword [esp + 0x30], eax
mov eax, dword [edx]
sub edx, 4
mov dword [esi], eax
add esi, 4
lea eax, [esp + 0x2fc]
cmp esi, eax
jbe 0x43ffd3
jmp 0x43fff6
mov dword [esp + 0x44], 0
mov ecx, dword [esp + 0x24]
cmp ecx, 0x37
jne 0x440033
xor edx, edx
mov esi, 4
mov edi, 0x461064
lea ecx, [esp + 0x230]
movsx eax, word [0x4610f8]
mov dword [esp + 0x1c], eax
mov eax, dword [edi]
sub edi, 4
mov dword [ecx], eax
add ecx, 4
lea eax, [esp + 0x23c]
cmp ecx, eax
jbe 0x440019
jmp 0x4400d6
lea edx, [ecx - 0x1b]
test edx, edx
jle 0x44008f
mov ecx, 0x1b
lea esi, [edx*8 + 0x46087c]
mov dword [esp + 0x5c], 2
movsx eax, word [edx*2 + 0x460a56]
lea edi, [esp + 0x4b0]
mov dword [esp + 0x150], eax
mov eax, dword [esi]
sub esi, 4
mov dword [edi], eax
add edi, 4
lea eax, [esp + 0x4b4]
cmp edi, eax
jbe 0x440064
cmp dword [esp + 0x4b4], 0
jne 0x44008f
sub eax, 4
dec dword [esp + 0x5c]
cmp dword [eax], 0
je 0x440083
mov esi, 2
lea edi, [ecx*8 + 0x46087c]
movsx eax, word [ecx*2 + 0x460a56]
lea ecx, [esp + 0x230]
mov dword [esp + 0x1c], eax
mov eax, dword [edi]
sub edi, 4
mov dword [ecx], eax
add ecx, 4
lea eax, [esp + 0x234]
cmp ecx, eax
jbe 0x4400ae
cmp dword [esp + 0x234], 0
jne 0x4400d6
sub eax, 4
dec esi
cmp dword [eax], 0
je 0x4400cd
test edx, edx
jle 0x4404a0
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + esi*4 + 0x22c]
add eax, esi
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x180], ecx
dec eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + edx*4 + 0x4ac]
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x180]
mul dword [esp + 0x17c]
mov dword [esp + 0x178], eax
mov dword [esp + 0x174], edx
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x178]
shl eax, 2
mov ebp, dword [esp + 0x174]
mov dword [esp + 0x58], eax
mov dword [esp + eax + 0x470], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + eax + 0x46c], ebp
dec edx
je 0x440211
mov ebp, eax
mov ecx, dword [esp + 0x58]
std
lea eax, [esp + edx*4 + 0x4ac]
lea edi, [esp + ecx + 0x5ac]
mov ecx, edx
mov dword [esp + 0x9c], eax
xor eax, eax
rep stosd dword es:[edi], eax
cld
mov eax, dword [esp + 0x78]
sub eax, edx
mov dword [esp + 0x60], eax
mov eax, dword [esp + esi*4 + 0x22c]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x170], eax
mov edx, dword [ecx]
mov dword [esp + 0x16c], edx
mov eax, dword [esp + 0x170]
mul dword [esp + 0x16c]
mov dword [esp + 0x168], eax
mov dword [esp + 0x164], edx
mov edx, dword [esp + 0x168]
lea ecx, [esp + ebp + 0x46c]
mov eax, dword [ecx]
add eax, edx
mov dword [ecx], eax
cmp eax, edx
mov eax, 1
lea ecx, [esp + 0x4ac]
adc eax, 0xffffffff
sub ebp, 4
sub dword [esp + 0x9c], 4
add eax, dword [esp + 0x164]
mov dword [esp + ebp + 0x46c], eax
cmp dword [esp + 0x9c], ecx
jne 0x44018c
mov eax, dword [esp + 0x60]
dec dword [esp + 0x60]
mov dword [esp + eax*4 + 0x5ac], 0
js 0x44024e
mov edx, dword [esp + 0x60]
mov ebp, dword [esp + 0x60]
shl edx, 2
inc ebp
xor eax, eax
mov ecx, ebp
std
lea edi, [esp + edx + 0x46c]
rep stosd dword es:[edi], eax
lea edi, [esp + edx + 0x5ac]
mov ecx, ebp
cld
std
rep stosd dword es:[edi], eax
cld
dec esi
je 0x440329
mov edi, dword [esp + 0x5c]
lea ecx, [esp + esi*4 + 0x22c]
add esi, edi
shl esi, 2
mov dword [esp + 0xc8], esi
test edi, edi
je 0x44030f
mov esi, dword [esp + 0xc8]
lea ebp, [esp + edi*4 + 0x4ac]
mov eax, dword [ecx]
mov edx, dword [ebp]
mov dword [esp + 0x160], eax
mov dword [esp + 0x15c], edx
mov eax, dword [esp + 0x160]
mul dword [esp + 0x15c]
mov dword [esp + 0x158], eax
mov dword [esp + 0x154], edx
mov edx, dword [esp + 0x158]
mov eax, dword [esp + esi + 0x46c]
add eax, edx
mov dword [esp + esi + 0x46c], eax
cmp eax, edx
mov eax, 1
mov edx, dword [esp + esi + 0x468]
adc eax, 0xffffffff
add eax, dword [esp + 0x154]
add edx, eax
mov dword [esp + esi + 0x468], edx
cmp edx, eax
mov eax, 1
adc eax, 0xffffffff
sub esi, 4
sub ebp, 4
add dword [esp + esi + 0x5a8], eax
lea eax, [esp + 0x4ac]
cmp ebp, eax
jne 0x440282
sub ecx, 4
lea eax, [esp + 0x22c]
sub dword [esp + 0xc8], 4
cmp ecx, eax
jne 0x44026c
mov esi, dword [esp + 0x7c]
mov eax, dword [esp + 0x150]
xor edi, edi
add dword [esp + 0x1c], eax
lea ecx, [esp + esi*4 + 0x22c]
mov eax, dword [esp + esi*4 + 0x46c]
cmp dword [esp + 0x78], edi
mov dword [ecx], eax
je 0x44037a
mov edx, dword [esp + 0x58]
add edi, dword [esp + edx + 0x5ac]
mov eax, dword [esp + edx + 0x46c]
add eax, edi
mov dword [esp + edx + 0x22c], eax
cmp eax, edi
mov edi, 1
adc edi, 0xffffffff
sub edx, 4
jne 0x440354
cmp dword [ecx], 0
jne 0x440388
sub ecx, 4
dec esi
cmp dword [ecx], 0
je 0x44037f
cmp dword [esp + 0x230], 0
jle 0x4403bf
shl dword [esp + 0x230], 1
dec dword [esp + 0x1c]
cmp esi, 2
jb 0x4403bf
lea ecx, [esp + 0x234]
lea eax, [esi - 1]
mov edx, dword [ecx]
add ecx, 4
shr edx, 0x1f
or dword [ecx - 8], edx
shl dword [ecx - 4], 1
dec eax
jne 0x4403ad
cmp dword [esp + esi*4 + 0x22c], 0
jne 0x4403ca
dec esi
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x28]
shr edi, 5
and eax, 0x1f
xor ecx, ecx
mov edx, 1
cmp ecx, eax
adc edx, 0xffffffff
lea ebp, [edx + edi]
cmp esi, ebp
jb 0x4404a0
mov esi, ebp
test edx, edx
je 0x440402
mov edi, 1
mov cl, 0x1f
sub cl, al
shl edi, cl
jmp 0x440413
cmp dword [esp + ebp*4 + 0x230], 0
mov edi, 1
jl 0x440413
xor edi, edi
test ebp, ebp
je 0x440490
lea ecx, [esp + ebp*4 + 0x22c]
mov eax, dword [ecx]
add eax, edi
mov dword [ecx], eax
cmp eax, edi
jae 0x44046e
lea eax, [esp + ebp*4 + 0x228]
lea esi, [ebp - 1]
mov dword [esp + 0x22c], 0
cmp dword [eax], 0xffffffff
jne 0x44044b
sub eax, 4
dec esi
cmp dword [eax], 0xffffffff
je 0x440442
test esi, esi
je 0x440458
inc dword [esp + esi*4 + 0x22c]
jmp 0x4404a0
mov dword [esp + 0x230], 0x80000000
mov esi, 1
add dword [esp + 0x1c], esi
jmp 0x4404a0
test edx, edx
je 0x440480
lea edx, [edi*2]
dec edx
not edx
and edx, eax
mov dword [ecx], edx
cmp dword [ecx], 0
jne 0x4404a0
sub ecx, 4
dec esi
cmp dword [ecx], 0
je 0x440485
jmp 0x4404a0
mov esi, edi
add dword [esp + 0x1c], edi
shl edi, 0x1f
mov dword [esp + 0x230], edi
cmp dword [esp + 0x44], 0
je 0x440869
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + esi*4 + 0x22c]
add eax, esi
mov edx, dword [esp + 0x44]
mov dword [esp + 0x74], eax
mov dword [esp + 0x14c], ecx
dec eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x54], eax
mov eax, dword [esp + edx*4 + 0x2ec]
mov dword [esp + 0x148], eax
mov eax, dword [esp + 0x14c]
mul dword [esp + 0x148]
mov dword [esp + 0x144], eax
mov dword [esp + 0x140], edx
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x144]
shl eax, 2
mov ebp, dword [esp + 0x140]
mov dword [esp + 0x50], eax
mov dword [esp + eax + 0x430], edx
mov edx, dword [esp + 0x44]
mov dword [esp + eax + 0x42c], ebp
dec edx
je 0x4405de
mov ebp, eax
mov ecx, dword [esp + 0x50]
std
lea eax, [esp + edx*4 + 0x2ec]
lea edi, [esp + ecx + 0x56c]
mov ecx, edx
mov dword [esp + 0x98], eax
xor eax, eax
rep stosd dword es:[edi], eax
cld
mov eax, dword [esp + 0x70]
sub eax, edx
mov dword [esp + 0x54], eax
mov eax, dword [esp + esi*4 + 0x22c]
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x13c], eax
mov edx, dword [ecx]
mov dword [esp + 0x138], edx
mov eax, dword [esp + 0x13c]
mul dword [esp + 0x138]
mov dword [esp + 0x134], eax
mov dword [esp + 0x130], edx
mov ecx, dword [esp + 0x134]
lea edx, [esp + ebp + 0x42c]
mov eax, dword [edx]
add eax, ecx
mov dword [edx], eax
cmp eax, ecx
mov eax, 1
lea ecx, [esp + 0x2ec]
adc eax, 0xffffffff
sub ebp, 4
sub dword [esp + 0x98], 4
add eax, dword [esp + 0x130]
mov dword [esp + ebp + 0x42c], eax
cmp dword [esp + 0x98], ecx
jne 0x440559
mov eax, dword [esp + 0x54]
dec dword [esp + 0x54]
mov dword [esp + eax*4 + 0x56c], 0
js 0x44061b
mov edx, dword [esp + 0x54]
mov ebp, dword [esp + 0x54]
shl edx, 2
inc ebp
xor eax, eax
mov ecx, ebp
std
lea edi, [esp + edx + 0x42c]
rep stosd dword es:[edi], eax
lea edi, [esp + edx + 0x56c]
mov ecx, ebp
cld
std
rep stosd dword es:[edi], eax
cld
dec esi
je 0x4406f6
mov edi, dword [esp + 0x44]
lea ecx, [esp + esi*4 + 0x22c]
add esi, edi
shl esi, 2
mov dword [esp + 0xc4], esi
test edi, edi
je 0x4406dc
mov esi, dword [esp + 0xc4]
lea ebp, [esp + edi*4 + 0x2ec]
mov eax, dword [ecx]
mov edx, dword [ebp]
mov dword [esp + 0x12c], eax
mov dword [esp + 0x128], edx
mov eax, dword [esp + 0x12c]
mul dword [esp + 0x128]
mov dword [esp + 0x124], eax
mov dword [esp + 0x120], edx
mov eax, dword [esp + 0x124]
mov edx, dword [esp + esi + 0x42c]
add edx, eax
mov dword [esp + esi + 0x42c], edx
cmp edx, eax
mov eax, 1
mov edx, dword [esp + esi + 0x428]
adc eax, 0xffffffff
add eax, dword [esp + 0x120]
add edx, eax
mov dword [esp + esi + 0x428], edx
cmp edx, eax
mov eax, 1
adc eax, 0xffffffff
sub esi, 4
sub ebp, 4
add dword [esp + esi + 0x568], eax
lea eax, [esp + 0x2ec]
cmp ebp, eax
jne 0x44064f
sub ecx, 4
lea eax, [esp + 0x22c]
sub dword [esp + 0xc4], 4
cmp ecx, eax
jne 0x440639
mov esi, dword [esp + 0x74]
mov eax, dword [esp + 0x30]
xor edi, edi
add dword [esp + 0x1c], eax
lea ecx, [esp + esi*4 + 0x22c]
mov eax, dword [esp + esi*4 + 0x42c]
cmp dword [esp + 0x70], edi
mov dword [ecx], eax
je 0x440744
mov edx, dword [esp + 0x50]
add edi, dword [esp + edx + 0x56c]
mov eax, dword [esp + edx + 0x42c]
add eax, edi
mov dword [esp + edx + 0x22c], eax
cmp eax, edi
mov edi, 1
adc edi, 0xffffffff
sub edx, 4
jne 0x44071e
cmp dword [ecx], 0
jne 0x440752
sub ecx, 4
dec esi
cmp dword [ecx], 0
je 0x440749
cmp dword [esp + 0x230], 0
jle 0x440789
shl dword [esp + 0x230], 1
dec dword [esp + 0x1c]
cmp esi, 2
jb 0x440789
lea eax, [esp + 0x234]
lea ecx, [esi - 1]
mov edx, dword [eax]
add eax, 4
shr edx, 0x1f
or dword [eax - 8], edx
shl dword [eax - 4], 1
dec ecx
jne 0x440777
cmp dword [esp + esi*4 + 0x22c], 0
jne 0x440794
dec esi
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x28]
shr edi, 5
and eax, 0x1f
xor ecx, ecx
mov edx, 1
cmp ecx, eax
adc edx, 0xffffffff
add edi, edx
cmp esi, edi
jb 0x440869
mov esi, edi
test edx, edx
je 0x4407cb
mov ebp, 1
mov cl, 0x1f
sub cl, al
shl ebp, cl
jmp 0x4407dc
cmp dword [esp + edi*4 + 0x230], 0
mov ebp, 1
jl 0x4407dc
xor ebp, ebp
test edi, edi
je 0x440859
lea ecx, [esp + edi*4 + 0x22c]
mov eax, dword [ecx]
add eax, ebp
mov dword [ecx], eax
cmp ebp, eax
jbe 0x440837
lea eax, [esp + edi*4 + 0x228]
lea esi, [edi - 1]
mov dword [esp + 0x22c], 0
cmp dword [eax], 0xffffffff
jne 0x440814
sub eax, 4
dec esi
cmp dword [eax], 0xffffffff
je 0x44080b
test esi, esi
je 0x440821
inc dword [esp + esi*4 + 0x22c]
jmp 0x440869
mov dword [esp + 0x230], 0x80000000
mov esi, 1
add dword [esp + 0x1c], esi
jmp 0x440869
test edx, edx
je 0x440849
lea edx, [ebp*2]
dec edx
not edx
and edx, eax
mov dword [ecx], edx
cmp dword [ecx], 0
jne 0x440869
sub ecx, 4
dec esi
cmp dword [ecx], 0
je 0x44084e
jmp 0x440869
mov esi, ebp
add dword [esp + 0x1c], ebp
shl ebp, 0x1f
mov dword [esp + 0x230], ebp
test ebx, ebx
je 0x440c24
lea eax, [ebx + esi]
mov ecx, dword [esp + esi*4 + 0x22c]
mov edx, dword [esp + ebx*4 + 0x26c]
mov dword [esp + 0x6c], eax
dec eax
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x68], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x118], edx
mov eax, dword [esp + 0x11c]
mul dword [esp + 0x118]
mov dword [esp + 0x114], eax
mov dword [esp + 0x110], edx
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x114]
shl eax, 2
mov ebp, dword [esp + 0x110]
mov dword [esp + 0x48], eax
mov dword [esp + eax + 0x3f0], edx
lea edx, [ebx - 1]
mov dword [esp + eax + 0x3ec], ebp
test edx, edx
je 0x44099d
mov ebp, eax
mov ecx, dword [esp + 0x48]
std
lea eax, [esp + edx*4 + 0x26c]
lea edi, [esp + ecx + 0x52c]
mov ecx, edx
mov dword [esp + 0x94], eax
xor eax, eax
rep stosd dword es:[edi], eax
cld
mov eax, dword [esp + 0x68]
sub eax, edx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + esi*4 + 0x22c]
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x10c], eax
mov edx, dword [ecx]
mov dword [esp + 0x108], edx
mov eax, dword [esp + 0x10c]
mul dword [esp + 0x108]
mov dword [esp + 0x104], eax
mov dword [esp + 0x100], edx
mov ecx, dword [esp + 0x104]
lea edx, [esp + ebp + 0x3ec]
mov eax, dword [edx]
add eax, ecx
mov dword [edx], eax
cmp eax, ecx
mov eax, 1
lea ecx, [esp + 0x26c]
adc eax, 0xffffffff
sub ebp, 4
sub dword [esp + 0x94], 4
add eax, dword [esp + 0x100]
mov dword [esp + ebp + 0x3ec], eax
cmp dword [esp + 0x94], ecx
jne 0x440918
mov eax, dword [esp + 0x4c]
dec dword [esp + 0x4c]
mov dword [esp + eax*4 + 0x52c], 0
js 0x4409da
mov edx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x4c]
shl edx, 2
inc ebp
xor eax, eax
mov ecx, ebp
std
lea edi, [esp + edx + 0x3ec]
rep stosd dword es:[edi], eax
lea edi, [esp + edx + 0x52c]
mov ecx, ebp
cld
std
rep stosd dword es:[edi], eax
cld
dec esi
je 0x440ab0
lea ecx, [esp + esi*4 + 0x22c]
add esi, ebx
shl esi, 2
mov dword [esp + 0xc0], esi
test ebx, ebx
je 0x440a96
mov ebp, dword [esp + 0xc0]
lea esi, [esp + ebx*4 + 0x26c]
mov edi, dword [ecx]
mov eax, dword [esi]
mov dword [esp + 0xfc], edi
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xfc]
mul dword [esp + 0xf8]
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf0], edx
mov eax, dword [esp + 0xf4]
mov edx, dword [esp + ebp + 0x3ec]
add edx, eax
mov dword [esp + ebp + 0x3ec], edx
cmp edx, eax
mov edx, 1
mov eax, dword [esp + ebp + 0x3e8]
adc edx, 0xffffffff
add edx, dword [esp + 0xf0]
add eax, edx
mov dword [esp + ebp + 0x3e8], eax
cmp eax, edx
mov eax, 1
adc eax, 0xffffffff
sub ebp, 4
sub esi, 4
add dword [esp + ebp + 0x528], eax
lea eax, [esp + 0x26c]
cmp esi, eax
jne 0x440a0c
sub ecx, 4
lea eax, [esp + 0x22c]
sub dword [esp + 0xc0], 4
cmp ecx, eax
jne 0x4409f4
mov esi, dword [esp + 0x6c]
mov eax, dword [esp + 0x2c]
xor ecx, ecx
add dword [esp + 0x1c], eax
lea edx, [esp + esi*4 + 0x22c]
mov eax, dword [esp + esi*4 + 0x3ec]
cmp dword [esp + 0x68], ecx
mov dword [edx], eax
je 0x440afe
mov edi, dword [esp + 0x48]
add ecx, dword [esp + edi + 0x52c]
mov eax, dword [esp + edi + 0x3ec]
add eax, ecx
mov dword [esp + edi + 0x22c], eax
cmp eax, ecx
mov ecx, 1
adc ecx, 0xffffffff
sub edi, 4
jne 0x440ad8
cmp dword [edx], 0
jne 0x440b0c
sub edx, 4
dec esi
cmp dword [edx], 0
je 0x440b03
cmp dword [esp + 0x230], 0
jle 0x440b43
shl dword [esp + 0x230], 1
dec dword [esp + 0x1c]
cmp esi, 2
jb 0x440b43
lea eax, [esp + 0x234]
lea ecx, [esi - 1]
mov edx, dword [eax]
add eax, 4
shr edx, 0x1f
or dword [eax - 8], edx
shl dword [eax - 4], 1
dec ecx
jne 0x440b31
cmp dword [esp + esi*4 + 0x22c], 0
jne 0x440b4e
dec esi
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x28]
shr eax, 5
and edx, 0x1f
xor ecx, ecx
mov ebx, 1
cmp ecx, edx
adc ebx, 0xffffffff
lea ebp, [eax + ebx]
cmp esi, ebp
jb 0x440c24
mov esi, ebp
test ebx, ebx
je 0x440b86
mov edi, 1
mov cl, 0x1f
sub cl, dl
shl edi, cl
jmp 0x440b97
cmp dword [esp + ebp*4 + 0x230], 0
mov edi, 1
jl 0x440b97
xor edi, edi
test ebp, ebp
je 0x440c14
lea ecx, [esp + ebp*4 + 0x22c]
mov edx, dword [ecx]
add edx, edi
mov dword [ecx], edx
cmp edi, edx
jbe 0x440bf2
lea eax, [esp + ebp*4 + 0x228]
lea esi, [ebp - 1]
mov dword [esp + 0x22c], 0
cmp dword [eax], 0xffffffff
jne 0x440bcf
sub eax, 4
dec esi
cmp dword [eax], 0xffffffff
je 0x440bc6
test esi, esi
je 0x440bdc
inc dword [esp + esi*4 + 0x22c]
jmp 0x440c24
mov dword [esp + 0x230], 0x80000000
mov esi, 1
add dword [esp + 0x1c], esi
jmp 0x440c24
test ebx, ebx
je 0x440c04
lea eax, [edi*2]
dec eax
not eax
and eax, edx
mov dword [ecx], eax
cmp dword [ecx], 0
jne 0x440c24
sub ecx, 4
dec esi
cmp dword [ecx], 0
je 0x440c09
jmp 0x440c24
mov esi, edi
add dword [esp + 0x1c], edi
shl edi, 0x1f
mov dword [esp + 0x230], edi
lea eax, [esp + esi*4 + 0x22c]
mov ecx, 1
cmp dword [esp + 0x34], 0
jg 0x440c39
xor ecx, ecx
add ecx, dword [eax]
mov dword [esp + 0x40], esi
mov dword [eax], ecx
mov dword [esp + 0xe8], ecx
mov eax, dword [esp + 0x38]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0xec]
mul dword [esp + 0xe8]
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe0], edx
mov ebx, dword [esp + 0x40]
mov ecx, dword [esp + 0xe4]
shl ebx, 2
mov eax, dword [esp + 0xe0]
lea edx, [esi - 1]
mov dword [esp + ebx + 0x4f0], ecx
mov dword [esp + ebx + 0x4ec], eax
test edx, edx
je 0x440d25
lea ebp, [esp + edx*4 + 0x22c]
lea edi, [esp + ebx + 0x6ac]
xor eax, eax
mov ecx, edx
std
rep stosd dword es:[edi], eax
cld
sub dword [esp + 0x40], edx
mov eax, dword [esp + 0x38]
mov ecx, dword [ebp]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xd8], ecx
mov eax, dword [esp + 0xdc]
mul dword [esp + 0xd8]
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd0], edx
mov edx, dword [esp + 0xd4]
lea ecx, [esp + ebx + 0x4ec]
mov eax, dword [ecx]
add eax, edx
mov dword [ecx], eax
cmp eax, edx
mov eax, 1
adc eax, 0xffffffff
sub ebx, 4
add eax, dword [esp + 0xd0]
sub ebp, 4
mov dword [esp + ebx + 0x4ec], eax
lea eax, [esp + 0x22c]
cmp ebp, eax
jne 0x440cb7
mov eax, dword [esp + 0x40]
dec dword [esp + 0x40]
mov dword [esp + eax*4 + 0x6ac], 0
js 0x440d62
mov ebx, dword [esp + 0x40]
mov edx, dword [esp + 0x40]
shl ebx, 2
inc edx
xor eax, eax
mov ecx, edx
std
lea edi, [esp + ebx + 0x4ec]
rep stosd dword es:[edi], eax
lea edi, [esp + ebx + 0x6ac]
mov ecx, edx
cld
std
rep stosd dword es:[edi], eax
cld
lea edx, [esp + esi*4 + 0x2b0]
mov ecx, dword [esp + esi*4 + 0x4f0]
inc esi
mov eax, dword [esp + 0x1c]
xor edi, edi
add dword [esp + 0x20], eax
lea eax, [esi - 1]
mov dword [edx], ecx
test eax, eax
je 0x440db1
lea ecx, [eax*4]
add edi, dword [esp + ecx + 0x6ac]
mov eax, dword [esp + ecx + 0x4ec]
add eax, edi
mov dword [esp + ecx + 0x2ac], eax
cmp eax, edi
mov edi, 1
adc edi, 0xffffffff
sub ecx, 4
jne 0x440d8b
cmp dword [edx], 0
jne 0x440dbf
sub edx, 4
dec esi
cmp dword [edx], 0
je 0x440db6
cmp dword [esp + 0x2b0], 0
jle 0x440df6
shl dword [esp + 0x2b0], 1
dec dword [esp + 0x20]
cmp esi, 2
jb 0x440df6
lea eax, [esp + 0x2b4]
lea ecx, [esi - 1]
mov edx, dword [eax]
add eax, 4
shr edx, 0x1f
or dword [eax - 8], edx
shl dword [eax - 4], 1
dec ecx
jne 0x440de4
cmp dword [esp + esi*4 + 0x2ac], 0
jne 0x440e01
dec esi
cmp dword [esp + 0x20], 0
jle 0x440e16
mov esi, 1
sub esi, dword [esp + 0x18]
jmp 0x43eede
mov eax, dword [esp + 0x20]
neg eax
test eax, eax
je 0x440e6d
lea edi, [esp + esi*4 + 0x2b0]
lea ebx, [esp + esi*4 + 0x2ac]
mov dl, 0x20
mov ebp, dword [ebx]
sub dl, al
mov cl, dl
shl ebp, cl
mov cl, al
mov dword [edi], ebp
shr dword [ebx], cl
lea ecx, [esi - 1]
test ecx, ecx
je 0x440e67
lea ebx, [esp + ecx*4 + 0x2ac]
mov ebp, dword [ebx]
mov cl, dl
shl ebp, cl
or dword [ebx + 4], ebp
mov cl, al
shr dword [ebx], cl
sub ebx, 4
lea ecx, [esp + 0x2ac]
cmp ebx, ecx
jne 0x440e4c
cmp dword [edi], 0
je 0x440e6d
inc esi
mov ecx, dword [esp + 0x700]
inc ecx
mov eax, ecx
mov dword [esp + 0x10], ecx
mov byte [ecx - 1], 0x30
cmp dword [esp + 0x34], 0
jle 0x440f7b
mov ecx, dword [esp + 0x18]
neg ecx
mov dword [esp + 0x3c], ecx
sub ecx, dword [esp + 0x14]
mov dword [esp + 0x90], ecx
test ecx, ecx
jle 0x440eab
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x3c], ecx
cmp dword [esp + 0x3c], 0
je 0x440f4e
mov dword [esp + 0x2ac], 0
test esi, esi
je 0x440f30
mov edi, dword [esp + esi*4 + 0x2ac]
lea edx, [esp + esi*4 + 0x2ac]
mov dword [esp + esi*4 + 0x2ac], 0
lea ebp, [edi + edi*4]
mov ebx, 1
mov ecx, ebp
cmp ebp, edi
adc ebx, 0xffffffff
and edi, 0xdfffffff
shr edi, 0x1d
add ebp, ebp
shr ecx, 0x1f
lea ebx, [edi + ebx*2]
or ebx, ecx
mov edi, dword [edx - 4]
mov ecx, dword [edx]
add ecx, ebp
mov dword [edx], ecx
cmp ecx, ebp
mov ecx, 1
adc ecx, 0xffffffff
sub edx, 4
add ecx, ebx
lea ebx, [esp + 0x2ac]
mov dword [edx], ecx
cmp edx, ebx
jne 0x440ede
cmp dword [esp + esi*4 + 0x2ac], 0
jne 0x440f30
dec esi
mov edx, dword [esp + 0x2ac]
mov ecx, dword [esp + 0x10]
add dl, 0x30
inc dword [esp + 0x10]
mov byte [ecx], dl
dec dword [esp + 0x3c]
jne 0x440eb6
cmp dword [esp + 0x90], 0
jg 0x441083
cmp dword [esp + 0x2b0], 0
jge 0x440f7b
mov ecx, dword [esp + 0x10]
dec ecx
cmp byte [ecx], 0x39
jne 0x440f79
mov byte [ecx], 0x30
dec ecx
cmp byte [ecx], 0x39
je 0x440f70
inc byte [ecx]
cmp dword [esp + 0x64], 0
jle 0x441171
cmp dword [esp + 0x34], 0
jle 0x440fa9
mov esi, 1
mov edx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x34]
add cl, 8
shl edx, cl
mov dword [esp + 0x2b0], edx
mov ecx, dword [esp + 0x14]
sub ecx, dword [esp + 0x10]
add ecx, eax
mov dword [esp + 0x3c], ecx
test ecx, ecx
jle 0x441057
mov dword [esp + 0x2ac], 0
test esi, esi
je 0x441039
mov edi, dword [esp + esi*4 + 0x2ac]
lea edx, [esp + esi*4 + 0x2ac]
mov dword [esp + esi*4 + 0x2ac], 0
lea ebp, [edi + edi*4]
mov ebx, 1
mov ecx, ebp
cmp ebp, edi
adc ebx, 0xffffffff
and edi, 0xdfffffff
shr edi, 0x1d
add ebp, ebp
shr ecx, 0x1f
lea ebx, [edi + ebx*2]
or ebx, ecx
mov edi, dword [edx - 4]
mov ecx, dword [edx]
add ecx, ebp
mov dword [edx], ecx
cmp ecx, ebp
mov ecx, 1
adc ecx, 0xffffffff
sub edx, 4
add ecx, ebx
lea ebx, [esp + 0x2ac]
mov dword [edx], ecx
cmp edx, ebx
jne 0x440fe7
cmp dword [esp + esi*4 + 0x2ac], 0
jne 0x441039
dec esi
mov edx, dword [esp + 0x2ac]
mov ecx, dword [esp + 0x10]
add dl, 0x30
inc dword [esp + 0x10]
mov byte [ecx], dl
dec dword [esp + 0x3c]
jne 0x440fbf
test byte [esp + 0x6fe], 0x40
jne 0x441171
cmp dword [esp + 0x2b0], 0
jl 0x44111a
cmp dword [esp + 0x14], 0
je 0x44124e
jmp 0x441171
test byte [esp + 0x6fe], 0x40
jne 0x441171
cmp dword [esp + 0x2b0], 0
mov ecx, 1
jl 0x4410a2
xor ecx, ecx
test ecx, ecx
jne 0x4410cc
cmp dword [esp + 0x90], 1
jne 0x4410c4
add dword [esp + 0x2b0], 0x10000
mov ecx, 1
js 0x4410c4
xor ecx, ecx
test ecx, ecx
je 0x441171
mov ecx, dword [esp + 0x10]
cmp byte [ecx - 1], 0x39
jne 0x4410e8
mov edx, 0x39
dec dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
cmp byte [ecx - 1], dl
je 0x4410db
mov ecx, dword [esp + 0x10]
inc byte [ecx - 1]
cmp ecx, eax
jne 0x441171
dec eax
mov edx, dword [esp + 0x70c]
inc dword [edx]
cmp dword [esp + 0x88], 0
je 0x441171
inc dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0x6f4], ecx
jge 0x441171
jmp 0x441166
mov ecx, dword [esp + 0x10]
cmp byte [ecx - 1], 0x39
jne 0x441136
mov edx, 0x39
dec dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
cmp byte [ecx - 1], dl
je 0x441129
mov ecx, dword [esp + 0x10]
inc byte [ecx - 1]
cmp ecx, eax
jne 0x441171
dec eax
mov edx, dword [esp + 0x70c]
inc dword [edx]
cmp dword [esp + 0x88], 0
je 0x441171
inc dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0x6f4], ecx
jge 0x441171
mov ecx, dword [esp + 0x6f4]
mov dword [esp + 0x14], ecx
test byte [esp + 0x6fc], 0x80
jne 0x4411a6
mov ecx, dword [esp + 0x14]
sub ecx, dword [esp + 0x10]
lea edx, [ecx + eax]
mov ebx, edx
dec edx
test ebx, ebx
jle 0x4411c2
mov ecx, dword [esp + 0x10]
mov ebx, edx
dec edx
inc dword [esp + 0x10]
mov byte [ecx], 0x30
test ebx, ebx
jg 0x44118d
xor esi, esi
jmp 0x441306
mov ecx, dword [esp + 0x10]
cmp byte [ecx - 1], 0x30
jne 0x4411c2
mov edx, 0x30
dec dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
cmp byte [ecx - 1], dl
je 0x4411b5
xor esi, esi
jmp 0x441306
test edx, edx
je 0x44123c
mov esi, dword [esp + 0x710]
cmp eax, 1
sbb eax, eax
mov ecx, dword [esp + 0x700]
and eax, 8
mov dword [esp + 0x10], ecx
sub eax, 4
mov dword [esi], eax
mov eax, 0x473b6c
cmp byte [0x473b6c], 0
je 0x44120c
mov dl, byte [eax]
mov ecx, dword [esp + 0x10]
inc eax
inc dword [esp + 0x10]
mov byte [ecx], dl
cmp byte [eax], 0
jne 0x4411fa
mov eax, dword [esp + 0x700]
mov ecx, dword [esp + 0x10]
sub ecx, eax
mov edx, dword [esp + 0x70c]
xor esi, esi
mov dword [edx], ecx
test byte [esp + 0x6ff], 0x40
je 0x441306
mov esi, 0xc
jmp 0x441306
mov esi, dword [esp + 0x710]
cmp eax, 1
sbb eax, eax
and eax, 2
dec eax
mov dword [esi], eax
test byte [esp + 0x6fc], 0x80
je 0x441262
mov dword [esp + 0x14], 1
jmp 0x441295
test byte [esp + 0x6fc], 2
je 0x441295
mov eax, dword [esp + 0x6f8]
inc eax
mov dword [esp + 0x14], eax
cmp dword [esp + 0x6f4], eax
jge 0x44128e
mov ecx, dword [esp + 0x6f4]
mov dword [esp + 0x14], ecx
jmp 0x441295
cmp dword [esp + 0x14], 1
jl 0x4412e3
mov eax, dword [esp + 0x700]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x10], eax
dec dword [esp + 0x14]
test edx, edx
je 0x4412c3
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
inc dword [esp + 0x10]
dec dword [esp + 0x14]
mov byte [ecx], 0x30
test edx, edx
jne 0x4412ac
mov edx, dword [esp + 0x70c]
xor esi, esi
test byte [esp + 0x6ff], 0x40
mov dword [edx], 1
je 0x441306
mov esi, 0xb
jmp 0x441306
mov eax, dword [esp + 0x700]
mov edx, dword [esp + 0x70c]
mov esi, 6
lea ecx, [eax + 1]
mov byte [eax], 0x30
mov dword [esp + 0x10], ecx
mov dword [edx], 1
mov ecx, dword [esp + 0x10]
mov byte [ecx], 0
mov ecx, dword [esp + 0x704]
test ecx, ecx
je 0x441323
mov edx, eax
sub edx, dword [esp + 0x700]
mov dword [ecx], edx
mov ecx, dword [esp + 0x708]
test ecx, ecx
je 0x44133b
mov edx, dword [esp + 0x10]
sub edx, dword [esp + 0x700]
mov dword [ecx], edx
mov ecx, dword [esp + 0x714]
test ecx, ecx
je 0x441348
mov dword [ecx], esi
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x6dc
ret