Function at 0x428255
Capabilities:
Copy file
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x468
mov esi, esp
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x5c], eax
mov esp, eax
push eax
push eax
mov edi, esp
sub esp, 0x20
mov dword [esi + 0x54], esp
mov dword [esi + 0x3c], 0
mov dword [esi + 0x38], 0
mov dword [esi + 0x34], 0
mov dword [esi + 0x30], 0
mov dword [esi + 0x60], 0x19a61ba1
mov dword [esi + 0x64], 0xe549e7b3
mov dword [esi + 0x68], 0xe110e357
mov dword [esi + 0x6c], 0xed56ef4b
mov dword [esi + 0x70], 0xe9eaeb47
mov word [esi + 0x74], 0
mov dword [esi + 8], 0
mov eax, dword [esi + 8]
cmp eax, 0x15
ja 0x4274f8
nop
nop
nop
nop
nop
mov eax, dword [esi + 8]
mov ecx, dword [esi + 8]
movzx ecx, byte [esi + ecx + 0x60]
mov edx, eax
xor edx, 0xe4b2cf7b
and eax, 0xe4b2cf7b
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esi + 0x40], edx
mov eax, dword [esi + 0x40]
mov ecx, eax
xor ecx, 0x67
and eax, 0x18
add eax, eax
sub eax, ecx
mov ecx, dword [esi + 8]
mov byte [esi + ecx + 0x60], al
inc dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, 0x16
jb 0x4274b0
lea ebx, [esi + 0x60]
lea ecx, [esi + 0x30]
push ebx
call fcn.0043c8a0
shr eax, 0x1f
xor ecx, ecx
jmp dword [eax*4 + 0x44b29c]
lea ecx, [esi + 0x30]
push 0x410
call fcn.0043cae0
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44b2a4]
xor ecx, ecx
jmp dword [0x44b2b4]
mov ebx, ecx
jmp dword [0x44b358]
mov dword [esi + 0x4c], edi
jmp dword [0x44b2bc]
add edx, 8
xor eax, eax
cmp edx, dword [esi + 0x58]
setne al
jmp dword [eax*4 + 0x44b2d4]
mov eax, dword [edx]
mov dword [esi + 0xc], eax
mov dword [esi + 0x1c], edx
mov eax, dword [edx + 4]
mov dword [esi + 0x14], eax
push 0x400
push 0
push ebx
call fcn.0040c710
add esp, 0xc
lea ecx, [esi + 0x30]
mov edi, dword [esi + 0x5c]
push edi
push 0
push 0x400
push ebx
push dword [esi + 0x14]
push dword [esi + 0xc]
call fcn.0043d530
cmp eax, 0xc0000000
setae al
mov ecx, dword [edi]
or ecx, dword [edi + 4]
sete cl
or cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44b2e4]
mov eax, 1
lea ebx, [esi + 0x60]
mov edx, dword [esi + 0x1c]
jmp dword [eax*4 + 0x44b2ec]
xor eax, eax
lea ebx, [esi + 0x60]
mov edx, dword [esi + 0x1c]
jmp dword [eax*4 + 0x44b2ec]
mov byte [esi + 0x45f], 0
movzx eax, byte [esi + 0x60]
xor edi, edi
test al, al
je 0x427611
mov ecx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x2e
je 0x42760f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x427600
jmp 0x427611
mov edi, ecx
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x44b2f4]
movzx eax, byte [edi + 1]
inc edi
mov ecx, edi
xor edi, edi
test al, al
mov dword [esi + 0x18], ecx
je 0x427641
nop
cmp al, 0x2e
je 0x42763f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x427630
jmp 0x427641
mov edi, ecx
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x44b2fc]
mov eax, dword [case.0x427509.20]
jmp case.0x427648.16
mov edx, edi
sub edx, dword [esi + 0x18]
mov eax, edx
and eax, 3
mov ebx, edx
or ebx, 3
imul ebx, eax
xor eax, 3
mov ecx, edx
and ecx, 0xfffffffc
imul ecx, eax
add ebx, ecx
shr ebx, 2
movzx eax, byte [edi - 1]
cmp eax, 0x3d
je 0x427689
cmp eax, 0x2e
jne 0x42768a
dec ebx
mov eax, dword [esi + 0x18]
movzx eax, byte [eax + edx - 2]
cmp eax, 0x3d
mov dword [esi + 0x24], edx
je 0x42769f
cmp eax, 0x2e
jne 0x4276a0
dec ebx
mov dword [esi + 0x50], ebx
lea eax, [ebx + 1]
push eax
call fcn.0040c690
add esp, 4
mov dword [esi + 0x20], eax
cmp edi, dword [esi + 0x18]
je 0x4277c2
mov dword [esi + 0xc], 0
mov edi, 2
jmp 0x4276e3
mov dword [esi + 0xc], eax
lea eax, [edi + 4]
add edi, 2
cmp edi, edx
mov edi, eax
jae 0x4277c2
mov ebx, dword [esi + 0x18]
movzx eax, byte [ebx + edi - 2]
push eax
call fcn.0041e910
add esp, 4
mov byte [esi + 0x14], al
movzx eax, byte [ebx + edi - 1]
push eax
call fcn.0041e910
add esp, 4
mov ebx, eax
movzx ecx, byte [esi + 0x14]
shl cl, 2
shr al, 4
and al, 3
or al, cl
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0xc]
mov byte [ecx + edx], al
mov eax, edx
and eax, 1
mov ecx, edx
xor ecx, 1
lea eax, [ecx + eax*2]
mov edx, dword [esi + 0x24]
cmp edi, edx
jae 0x4276d0
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x18]
movzx eax, byte [eax + edi]
push eax
call fcn.0041e910
add esp, 4
cmp al, 0x40
jne 0x427760
mov eax, dword [esi + 0x14]
mov dword [esi + 0xc], eax
mov edx, dword [esi + 0x24]
jmp 0x4276d3
shl bl, 4
mov ecx, eax
shr cl, 2
and cl, 0xf
or cl, bl
mov ebx, dword [esi + 0x14]
lea edx, [ebx + 1]
mov dword [esi + 0xc], edx
mov edx, dword [esi + 0x20]
mov byte [edx + ebx], cl
lea ecx, [edi + 1]
mov edx, dword [esi + 0x24]
cmp ecx, edx
jae 0x4276d3
mov ebx, eax
mov eax, dword [esi + 0x18]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.0041e910
mov edx, dword [esi + 0x24]
add esp, 4
cmp al, 0x40
je 0x4276d3
shl bl, 6
add al, bl
mov ecx, dword [esi + 0x20]
mov ebx, dword [esi + 0x14]
mov byte [ecx + ebx + 1], al
add ebx, 2
mov dword [esi + 0xc], ebx
jmp 0x4276d3
mov eax, dword [esi + 0x50]
mov ebx, dword [esi + 0x20]
mov byte [ebx + eax], 0
push ebx
call fcn.00403b10
add esp, 4
mov edi, eax
jmp dword [0x44b304]
push ebx
call fcn.0040c6a0
add esp, 4
mov dword [esi + 0xc], edi
push edi
call fcn.00404470
add esp, 4
mov ebx, eax
xor eax, eax
test ebx, ebx
setne al
mov edi, dword [esi + 0x4c]
jmp dword [eax*4 + 0x44b30c]
lea ebx, [esi + 0x60]
mov edi, dword [esi + 0xc]
jmp 0x4279c7
jmp dword [0x44b314]
mov dword [edi], 0x57f8f4f7
mov word [edi + 4], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 5
ja 0x42788a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [edi + ecx]
mov edx, eax
xor edx, 0x5371fe6e
and eax, 0xd371fe6e
lea edx, [edx + eax*2]
mov eax, edx
and eax, ecx
xor edx, ecx
lea edx, [edx + eax*2]
mov ecx, edx
not ecx
and ecx, eax
add ecx, eax
not eax
and eax, edx
sub eax, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0xda
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 6
jb 0x427840
push edi
push ebx
call fcn.004043c0
add esp, 8
jmp case.0x427648.6
push edi
push ebx
call fcn.004043c0
add esp, 8
jmp dword [0x44b320]
mov dword [edi], 0x57f8f4f7
mov word [edi + 4], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 5
ja 0x4278a0
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [edi + ecx]
mov edx, eax
xor edx, 0x5371fe6e
and eax, 0xd371fe6e
lea edx, [edx + eax*2]
mov eax, edx
and eax, ecx
xor edx, ecx
lea edx, [edx + eax*2]
mov ecx, edx
not ecx
and ecx, eax
add ecx, eax
not eax
and eax, edx
sub eax, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0xda
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 6
jb 0x4278d0
jmp 0x4278a0
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44b324]
lea ebx, [esi + 0x60]
mov edx, dword [esi + 0x10]
jmp 0x4279a2
lea ebx, [esi + 0x60]
jmp dword [0x44b32c]
movzx ecx, byte [eax]
mov edx, dword [esi + 0x10]
test cl, cl
je 0x42795b
lea edi, [eax + 1]
mov edx, dword [esi + 0x10]
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x427950
mov word [edx], 0x203a
jmp case.0x427648.12
mov word [ecx], 0x203a
jmp dword [0x44b338]
movzx edx, byte [eax]
mov ecx, dword [esi + 0x10]
test dl, dl
je 0x427970
lea edi, [eax + 1]
mov ecx, dword [esi + 0x10]
nop
nop
nop
nop
nop
mov byte [ecx], dl
inc ecx
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x427990
jmp 0x427970
add ecx, 2
mov edx, ecx
movzx eax, byte [esi + 0x60]
test al, al
mov edi, dword [esi + 0xc]
je 0x4279bb
lea ecx, [esi + 0x61]
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4279b0
mov byte [edx], 0xa
inc edx
mov dword [esi + 0x10], edx
mov al, 1
mov dword [esi + 0x2c], eax
push edi
call fcn.004046e0
add esp, 4
mov eax, dword [case.0x427509.20]
mov edx, dword [esi + 0x1c]
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov dword [esi + 0x60], 0xeac3f8e5
mov dword [esi + 0x64], 0xf0eacde0
mov dword [esi + 0x68], 0xece5e3c1
mov dword [esi + 0x6c], 0xd7fee6c5
mov dword [esi + 0x70], 0xe0dbd2c6
mov dword [esi + 0x74], 0xffdcd6dd
mov dword [esi + 0x78], 0xf2f9defa
mov dword [esi + 0x7c], 0xf6dff4d3
mov dword [esi + 0x80], 0xe6f0f6f2
mov dword [esi + 0x84], 0xcee315f1
mov dword [esi + 0x88], 0x2b1ae1e1
mov dword [esi + 0x8c], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0x2f
ja 0x427aa7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [esi + ecx + 0x60]
mov edx, eax
xor edx, 0x2c956fc0
add eax, eax
and eax, 0x592adf80
mov edi, eax
and edi, edx
xor eax, edx
mov edx, eax
and edx, ecx
add eax, ecx
lea eax, [eax + edi*2]
add edx, edx
sub eax, edx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0x40
mov ecx, dword [esi + 4]
mov byte [esi + ecx + 0x60], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0x30
jb 0x427a60
lea eax, [esi + 0x40]
lea ecx, [esi + 0x30]
push 0
push 0x2b
push ebx
push eax
call fcn.0043d770
jmp dword [0x44b2c4]
mov dword [esi + 0x60], 0xeac3f8e5
mov dword [esi + 0x64], 0xf0eacde0
mov dword [esi + 0x68], 0xece5e3c1
mov dword [esi + 0x6c], 0xd7fee6c5
mov dword [esi + 0x70], 0xe0dbd2c6
mov dword [esi + 0x74], 0xffdcd6dd
mov dword [esi + 0x78], 0xf2f9defa
mov dword [esi + 0x7c], 0xf6dff4d3
mov dword [esi + 0x80], 0xe6f0f6f2
mov dword [esi + 0x84], 0xcee315f1
mov dword [esi + 0x88], 0x2b1ae1e1
mov dword [esi + 0x8c], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0x2f
ja 0x427b77
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [esi + ecx + 0x60]
mov edx, eax
xor edx, 0x2c956fc0
add eax, eax
and eax, 0x592adf80
mov edi, eax
and edi, edx
xor eax, edx
mov edx, eax
and edx, ecx
add eax, ecx
lea eax, [eax + edi*2]
add edx, edx
sub eax, edx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0x40
mov ecx, dword [esi + 4]
mov byte [esi + ecx + 0x60], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0x30
jb 0x427b30
lea eax, [esi + 0x40]
lea ecx, [esi + 0x30]
push 0
push 0x2b
push ebx
push eax
call fcn.0043d770
jmp case.0x427509.8
mov edx, dword [esi + 0x40]
mov edi, dword [esi + 0x44]
xor eax, eax
cmp edx, edi
sete al
jmp dword [eax*4 + 0x44b2cc]
mov ecx, edi
not ecx
and ecx, edx
mov eax, edx
not eax
and eax, edi
sub eax, ecx
sar eax, 3
mov ecx, eax
and ecx, 0xfffffbde
mov dword [esi + 0x1c], edx
mov edx, eax
and edx, 0x421
or eax, 0x421
imul eax, edx
xor edx, 0x421
imul edx, ecx
add eax, edx
push eax
call fcn.0040c690
mov edx, dword [esi + 0x1c]
add esp, 4
mov dword [esi + 0x2c], 0
xor ecx, ecx
mov dword [esi + 0x58], edi
cmp edx, edi
setne cl
mov dword [esi + 0x28], eax
mov dword [esi + 0x10], eax
jmp dword [ecx*4 + 0x44b2d4]
mov ebx, dword [esi + 0x2c]
mov eax, ebx
and al, 1
movzx eax, al
mov edx, dword [esi + 0x54]
jmp dword [eax*4 + 0x44b2dc]
mov edi, dword [esi + 0x28]
jmp dword [0x44b34c]
xor ebx, ebx
test edx, edx
jne 0x427cd3
jmp 0x427ce0
mov ebx, dword [esi + 0x10]
mov byte [ebx], 0
mov dword [edx], 0xe3e69949
mov dword [edx + 4], 0xefd3dadd
mov dword [edx + 8], 0xe0ece2d9
mov dword [edx + 0xc], 0xd6e6c22f
mov dword [edx + 0x10], 0xdb35ecd9
mov dword [edx + 0x14], 0xf1cff2f7
mov dword [edx + 0x18], 0xf7f233ff
mov dword [edx + 0x1c], 0x6df0
mov edi, dword [esi + 0x28]
sub ebx, edi
mov dword [esi + 8], 0
mov eax, dword [esi + 8]
cmp eax, 0x1f
ja 0x427caa
nop
mov eax, dword [esi + 8]
mov ecx, dword [esi + 8]
movzx ecx, byte [edx + ecx]
add eax, 0xb869c43e
xor eax, ecx
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add al, 0xca
mov ecx, dword [esi + 8]
mov byte [edx + ecx], al
inc dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, 0x20
jb 0x427c80
mov ecx, dword [ebp + 8]
push ebx
push edi
push edx
call fcn.0040d220
mov ebx, eax
jmp dword [0x44b34c]
push edi
call fcn.0040c6a0
add esp, 4
and bl, 1
mov edx, dword [esi + 0x40]
mov edi, dword [esi + 0x44]
test edx, edx
je 0x427ce0
cmp edx, edi
je 0x427ce0
push edx
call fcn.0040c6a0
add esp, 4
jmp dword [0x44b358]
lea ecx, [esi + 0x30]
call fcn.0043cc80
nop
nop
lea ecx, [esi + 0x30]
call fcn.0043cc80
jmp dword [0x44b35c]
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x44b3e4]
mov ebx, dword [esp + 0xb4]
mov ecx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x427d50
sub eax, edi
cmp eax, 0xffffffd9
jge 0x428123
mov eax, 0xffffffff
jmp 0x428126
xor edx, edx
test ecx, ecx
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x44b3dc]
jmp dword [ecx*4 + 0x44b364]
mov dword [esp + 0x2c], 0x9640b68
mov dword [esp + 0x30], 0x55f0753
mov dword [esp + 0x34], 0x16f0353
mov dword [esp + 0x38], 0x1d701f6c
mov dword [esp + 0x3c], 0x197e1b7b
mov dword [esp + 0x40], 0x1549174b
mov dword [esp + 0x44], 0x114a1349
mov dword [esp + 0x48], 0x2d7c2f47
mov dword [esp + 0x4c], 0x294e2b77
mov dword [esp + 0x50], 0x25772745
mov dword [esp + 0x54], 0x214e237e
mov dword [esp + 0x58], 0x3d613f49
mov dword [esp + 0x5c], 0x39613b52
mov dword [esp + 0x60], 0x355c375c
mov dword [esp + 0x64], 0x3146334b
mov dword [esp + 0x68], 0x4d354fba
mov dword [esp + 0x6c], 0x49274b28
mov dword [esp + 0x70], 0x453d47c4
mov dword [esp + 0x74], 0x4131433b
mov word [esp + 0x78], 0x5f40
mov dword [esp + 0x7a], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x51
ja 0x427e9c
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 + 0x2c]
mov esi, ecx
xor esi, 0x3d540a83
and ecx, 0x3d540a83
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 + 0x10], ecx
mov ecx, dword [esp + 0x10]
add cl, 0x71
mov edx, dword [esp]
mov byte [esp + edx + 0x2c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x52
jb 0x427e50
lea ecx, [esp + 0x1c]
lea esi, [esp + 0x2c]
push 0
push 0
push eax
push ecx
push esi
call fcn.00443840
add esp, 0x14
shr eax, 0x1f
mov ecx, 4
jmp dword [eax*4 + 0x44b36c]
lea ebx, [esp + 0x94]
lea eax, [esp + 0x28]
push ebx
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x3c]
call fcn.00443cc0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44b374]
mov ecx, dword [esp + 0x94]
lea eax, [ecx*2 + 2]
inc ecx
jns 0x427f09
mov eax, 0xffffffff
push eax
call fcn.0040c690
add esp, 4
mov edi, eax
mov dword [esp + 0x2c], 0xe110e73f
mov dword [esp + 0x30], 0xfd6ee36d
mov dword [esp + 0x34], 0xf90aff1f
mov dword [esp + 0x38], 0xf52afb0c
mov dword [esp + 0x3c], 0xf17af717
mov dword [esp + 0x40], 0x8df2f308
mov byte [esp + 0x44], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x18
ja 0x427f99
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x2c]
mov edx, eax
xor edx, 0x7dd291a9
and eax, 0xfdd291a9
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add al, 0xb3
mov ecx, dword [esp]
mov byte [esp + ecx + 0x2c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x19
jb 0x427f60
push ebx
push edi
push 0
push esi
push dword [esp + 0x2c]
call fcn.00444310
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x44b37c]
jmp dword [0x44b384]
push edi
call fcn.0040c6a0
add esp, 4
mov eax, dword [case.0x427ebb.2]
nop
nop
nop
nop
nop
nop
nop
nop
xor edi, edi
jmp eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x2c], 0x54554a4b
mov word [esp + 0x30], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 5
ja 0x428042
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x2c]
mov ebx, ecx
xor ebx, 0xd38e4a6e
and ecx, 0xd38e4a6e
lea ecx, [ebx + ecx*2]
lea ebx, [ecx + edx]
and ecx, edx
add ecx, ecx
sub ebx, ecx
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0x10]
add cl, 0xda
mov edx, dword [esp]
mov byte [esp + edx + 0x2c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 6
jb 0x428000
mov ecx, dword [0x44f3c8]
test ecx, ecx
je 0x428080
mov edx, dword [esp + 0x2c]
xor ebx, ebx
mov ebp, dword [0x44f3cc]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebp + ebx*8], 0x625b6034
je 0x428071
inc ebx
cmp ecx, ebx
jne 0x428060
jmp 0x428080
mov ecx, dword [ebp + ebx*8 + 4]
cmp ecx, edx
jne case.default.0x42808c
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
test edi, edi
setne al
mov ecx, 2
jmp dword [eax*4 + 0x44b39c]
push esi
call fcn.00442e10
add esp, 4
cmp dword [esp + 0x2c], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44b3a4]
xor ecx, ecx
jmp 0x4280b9
mov ecx, 2
mov eax, dword [case.0x428115.1]
nop
nop
jmp eax
mov eax, dword [case.0x427ebb.1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
cmp ecx, 4
setl al
jmp dword [eax*4 + 0x44b3cc]
xor edx, edx
cmp ecx, 4
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x44b3d4]
push eax
push 1
push dword [0x44f3d0]
push ecx
call fcn.0043f830
add esp, 0x10
xor eax, eax
test edi, edi
setne al
mov ecx, 2
jmp dword [eax*4 + 0x44b39c]
xor ebx, ebx
jmp 0x428ec1
add eax, 0x26
push eax
call fcn.0040c690
add esp, 4
mov esi, eax
mov dword [esp + 0x2c], 0xff19f904
mov dword [esp + 0x30], 0xe370fd6f
mov dword [esp + 0x34], 0xe70fe10a
mov dword [esp + 0x38], 0xeb16e50f
mov dword [esp + 0x3c], 0xef7de90f
mov dword [esp + 0x40], 0x9378ed7e
mov dword [esp + 0x44], 0x977d9179
mov dword [esp + 0x48], 0x9b009546
mov dword [esp + 0x4c], 0x9f74997c
mov word [esp + 0x50], 0x9d9c
mov dword [esp + 0x52], 0
mov word [esp + 0x56], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2b
ja 0x4281d9
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x2c]
mov edx, eax
xor edx, 0x4b7e42aa
and eax, 0xcb7e42aa
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add al, 0xae
mov ecx, dword [esp]
mov byte [esp + ecx + 0x2c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2c
jb 0x4281a0
movzx ecx, word [edi]
mov eax, esi
test cx, cx
je 0x428201
lea edx, [edi + 2]
mov eax, esi
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 0x4281f0
mov word [eax], 0
movzx ecx, word [esp + 0x2c]
test cx, cx
je 0x428231
lea edx, [esp + 0x2e]
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 0x428220
mov word [eax], 0
jmp dword [0x44b3ec]
push edi
call fcn.0040c6a0
add esp, 4
xor eax, eax
cmp word [esi], 0x5b
sete al
jmp dword [eax*4 + 0x44b3f4]
xor eax, eax
cmp word [esi], 0x5b
sete al
jmp dword [eax*4 + 0x44b3f4]
mov dword [esp + 0x2c], 0x17d019e7
mov dword [esp + 0x30], 0x138d15f0
mov dword [esp + 0x34], 0xf9c1183
mov dword [esp + 0x38], 0xb930d96
mov dword [esp + 0x3c], 0x7e20993
mov dword [esp + 0x40], 0x391059b
mov dword [esp + 0x44], 0x3fa40192
mov dword [esp + 0x48], 0x3ba13da5
mov dword [esp + 0x4c], 0x37bc39ea
mov dword [esp + 0x50], 0x33a835a8
mov dword [esp + 0x54], 0x3130
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2b
ja 0x428309
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x2c]
mov edx, eax
xor edx, 0x9764c0c6
and eax, 0x1764c0c6
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add al, 0x22
mov ecx, dword [esp]
mov byte [esp + ecx + 0x2c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2c
jb 0x4282d0
lea eax, [esp + 0x2c]
push 0
push eax
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea eax, [esp + 0x1c]
push 0x60
push 3
push 0x120089
push eax
mov dword [esp + 0x28], esi
push esi
call fcn.00443030
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44b3fc]
xor esi, esi
xor ebp, ebp
jmp dword [0x44b45c]
push dword [esp + 0x18]
call fcn.0040c6a0
add esp, 4
xor eax, eax
mov dword [esp + 8], esi
cmp esi, ebp
sete al
jmp dword [eax*4 + 0x44b464]
lea eax, [esp + 0x28]
push 0
push eax
push dword [esp + 0x24]
call fcn.004433b0
add esp, 0xc
not eax
shr eax, 0x1f
xor ebp, ebp
mov dword [esp + 8], 0
jmp dword [eax*4 + 0x44b404]
mov esi, dword [esp + 0x28]
mov eax, esi
and eax, 1
mov ecx, esi
xor ecx, 1
lea eax, [ecx + eax*2]
push eax
call fcn.0040c690
add esp, 4
push 0
push esi
mov esi, eax
push eax
push dword [esp + 0x28]
call fcn.004434b0
add esp, 0x10
not eax
shr eax, 0x1f
xor ebp, ebp
mov dword [esp + 8], 0
jmp dword [eax*4 + 0x44b40c]
mov edi, esi
mov esi, dword [esp + 0x28]
mov byte [edi + esi], 0
push 0x20
call fcn.0040c690
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 + 0x88], eax
mov ecx, eax
push esi
mov dword [esp + 0x90], edi
push edi
call fcn.0042afb0
movzx eax, al
xor ebp, ebp
xor edx, edx
jmp dword [eax*4 + 0x44b414]
mov dword [esp + 0x2c], 0xe5a89eb9
mov dword [esp + 0x30], 0xd2e0d0e9
mov dword [esp + 0x34], 0xd5d5c125
mov dword [esp + 0x38], 0xc82bdcee
mov dword [esp + 0x3c], 0xceddd8e8
mov dword [esp + 0x40], 0xc0c72031
mov dword [esp + 0x44], 0xfdc8f0f5
mov dword [esp + 0x48], 0x6bfd
mov byte [esp + 0x4c], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x20
ja 0x4284d0
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x2c]
mov edx, eax
not edx
or edx, 0x5ee7d33d
add edx, eax
xor eax, 0x5ee7d33d
lea eax, [eax + edx*2]
add eax, 2
xor eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add al, 0xcf
mov ecx, dword [esp]
mov byte [esp + ecx + 0x2c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x21
jb 0x428490
lea eax, [esp + 0x2c]
mov ecx, dword [esp + 0x88]
push eax
call fcn.0042b1a0
xor ecx, ecx
test eax, eax
setne cl
xor edx, edx
jmp dword [ecx*4 + 0x44b41c]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0xb4]
mov esi, dword [esp + 0x8c]
jmp dword [0x44b43c]
mov edi, dword [esp + 0x88]
mov ecx, edi
call fcn.0042b300
push edi
call fcn.0040c6a0
add esp, 4
jmp dword [0x44b444]
jmp dword [0x44b444]
jmp dword [0x44b44c]
add eax, 8
xor esi, esi
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
xor ebp, ebp
mov dword [esp + 0xc], 0
xor edx, edx
jmp dword [eax*4 + 0x44b424]
not eax
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0x90]
mov dword [edx + edi + 4], eax
mov ebp, dword [esp + 0x84]
add ebp, 8
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov esi, edx
jmp dword [eax*4 + 0x44b424]
jmp dword [0x44b434]
mov eax, ebp
mov ebp, dword [ecx]
mov edi, eax
sub edi, esi
mov dword [esp + 0x84], eax
mov edx, dword [esp + 0xc]
cmp eax, edx
mov dword [esp + 0x24], edi
mov dword [esp + 0x90], ecx
je 0x4285bf
mov ebx, esi
jmp 0x42863d
mov eax, edi
sar eax, 3
inc eax
mov ecx, edx
sub ecx, esi
sar ecx, 3
mov edx, ecx
shr edx, 1
mov edi, edx
and edi, ecx
xor edx, ecx
lea edi, [edx + edi*2]
cmp edi, eax
ja 0x4285df
mov edi, eax
lea eax, [edi*8]
push eax
call fcn.0040c690
add esp, 4
mov ebx, eax
test esi, esi
je 0x42862b
mov edx, dword [esp + 0xc]
cmp esi, edx
je 0x428622
xor eax, eax
nop
mov ecx, dword [esi + eax]
mov dword [ebx + eax], ecx
mov ecx, dword [esi + eax + 4]
mov dword [ebx + eax + 4], ecx
mov dword [esi + eax], 0
lea ecx, [esi + eax]
add ecx, 8
add eax, 8
cmp ecx, edx
jne 0x428600
push esi
call fcn.0040c6a0
add esp, 4
lea edx, [ebx + edi*8]
mov eax, ebx
mov edi, dword [esp + 0x24]
add eax, edi
mov dword [esp + 0x84], eax
mov dword [esp + 0xc], edx
mov dword [ebx + edi], 0
mov dword [esp + 8], ebx
mov dword [ebx + edi + 4], 0
mov ebx, 0xffffffff
xor eax, eax
nop
nop
nop
nop
nop
mov esi, eax
cmp byte [ebp + ebx + 1], 0
lea ebx, [ebx + 1]
lea eax, [eax + 1]
jne 0x428660
lea eax, [ebx + 1]
mov dword [esp + 0x80], eax
push eax
call fcn.0040c690
add esp, 4
mov ecx, eax
mov eax, dword [esp + 8]
mov dword [eax + edi], ecx
mov eax, ecx
mov ecx, dword [esp + 0x80]
shr ecx, 2
mov edx, ebp
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, dword [esp + 0x80]
mov edx, ecx
and edx, 0xfffffffc
add eax, edx
mov edi, eax
add edx, ebp
shr ecx, 1
and ecx, 1
mov eax, edx
mov dword [esp + 0x20], edi
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
test bl, 1
jne 0x4286e5
mov ecx, dword [esp + 0x80]
and ecx, 2
movzx eax, byte [edx + ecx]
mov edx, dword [esp + 0x20]
mov byte [edx + ecx], al
test ebx, ebx
je 0x428776
cmp ebx, 1
mov edi, dword [esp + 0x24]
jne 0x4286f5
mov eax, 0xffffffff
jmp 0x428747
and esi, 0xfffffffe
mov eax, 0xffffffff
nop
nop
nop
mov ecx, eax
shr ecx, 8
movzx edx, byte [ebp]
xor edx, eax
xor edx, 0x3fffff00
or eax, 0xff
and eax, edx
xor ecx, dword [eax*4 + 0x446c28]
mov eax, ecx
shr eax, 8
movzx edx, byte [ebp + 1]
add ebp, 2
xor edx, ecx
xor edx, 0x3fffff00
or ecx, 0xff
and ecx, edx
xor eax, dword [ecx*4 + 0x446c28]
add esi, 0xfffffffe
jne 0x428700
test bl, 1
je 0x428553
mov ecx, eax
shr ecx, 8
movzx edx, byte [ebp]
xor edx, eax
xor edx, 0x3fffff00
or eax, 0xff
and eax, edx
xor ecx, dword [eax*4 + 0x446c28]
mov eax, ecx
jmp 0x428553
xor eax, eax
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0x90]
mov edi, dword [esp + 0x24]
jmp 0x428560
mov esi, dword [esi + 4]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x44b4c4]
mov eax, dword [esi]
cmp dword [esi + 0x18], 3
mov dword [esp + 0x24], eax
jne case.default.0x4287bd
mov ebx, dword [esi + 0x10]
test eax, eax
setne al
test ebx, ebx
setne cl
and cl, al
movzx ecx, cl
mov edx, ebx
jmp dword [ecx*4 + 0x44b4cc]
test eax, eax
setne al
xor ecx, ecx
test ecx, ecx
setne cl
and cl, al
movzx ecx, cl
xor ebx, ebx
xor edx, edx
jmp dword [ecx*4 + 0x44b4cc]
mov ebp, edx
inc edx
cmp byte [ebp], 0
jne case.0x4287d9.1
sub ebp, ebx
inc ebp
shr ebp, 1
lea eax, [ebp + 1]
push eax
call fcn.0040c690
add esp, 4
mov edx, ebx
jmp dword [0x44b4dc]
mov dword [esp + 0x88], esi
movsx ecx, byte [ebx]
xor edx, edx
test ecx, ecx
setne dl
mov dword [esp + 0x8c], eax
mov esi, eax
jmp dword [edx*4 + 0x44b4e4]
jmp dword [0x44b4f8]
lea eax, [ecx - 0x30]
cmp eax, 0xa
jb 0x428843
mov eax, 0xffffffff
or ecx, 0x20
lea edx, [ecx - 0x61]
cmp edx, 6
jae case.default.0x42885e
add ecx, 0xffffffa9
mov eax, ecx
movsx ecx, byte [ebx + 1]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x44b4fc]
inc ebx
jmp dword [0x44b518]
jmp dword [0x44b50c]
lea edx, [ecx - 0x30]
cmp edx, 0xa
jb 0x428883
mov edx, 0xffffffff
or ecx, 0x20
lea edi, [ecx - 0x61]
cmp edi, 6
jae 0x428893
add ecx, 0xffffffa9
mov edx, ecx
shl eax, 4
or eax, edx
add ebx, 2
jmp dword [0x44b518]
mov byte [esi], al
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], al
jmp dword [0x44b520]
inc esi
movsx ecx, byte [ebx]
xor eax, eax
test ecx, ecx
setne al
jmp dword [eax*4 + 0x44b4e4]
mov edi, dword [esp + 0x24]
jmp dword [0x44b524]
mov dword [esp], 0
mov dword [esp + 4], 0
push 0x6c625980
push dword [0x44f3d4]
call fcn.004425e0
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 + 0x44]
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44b564]
mov eax, dword [case.0x4292f7.52]
jmp 0x428a0c
movzx eax, byte [ebx]
test al, al
je 0x42894d
inc ebx
mov edi, dword [esp + 0x18]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x428940
jmp 0x428951
mov edi, dword [esp + 0x18]
mov word [edi], 0x203a
add edi, 2
mov edx, dword [esp]
test edx, edx
je 0x42898b
mov eax, dword [esp + 4]
mov ecx, edx
and ecx, 3
je 0x42898f
xor esi, esi
nop
nop
nop
movzx ebx, byte [eax]
cmp bl, 1
sbb eax, 0xffffffff
mov byte [edi + esi], bl
inc esi
cmp ecx, esi
jne 0x428970
add edi, esi
mov ecx, edx
sub ecx, esi
mov esi, edi
jmp 0x428991
mov esi, edi
jmp 0x4289d9
mov ecx, edx
cmp edx, 4
jb 0x4289d9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [edi], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [edi + 1], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [edi + 2], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
lea esi, [edi + 4]
mov byte [edi + 3], dl
mov edi, esi
add ecx, 0xfffffffc
jne 0x4289a0
mov byte [esi], 0xa
inc esi
push 0xe050b307
push dword [0x44f3bc]
call fcn.004425e0
add esp, 8
push dword [esp + 4]
call eax
mov al, 1
mov dword [esp + 0x20], eax
mov eax, dword [case.0x4292f7.52]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
jmp dword [0x44b560]
mov eax, dword [esi]
mov dword [esp + 0x24], eax
xor edi, edi
mov eax, edx
mov edx, dword [esp + 0x80]
jmp dword [edi*4 + 0x44b544]
add esi, 8
xor ebx, ebx
cmp esi, dword [esp + 0x84]
setne bl
jmp dword [ebx*4 + 0x44b534]
mov edi, dword [esi + 4]
mov ebx, edi
shr ebx, 0x1c
shl edi, 4
or edi, 1
xor ebx, edx
mov edx, eax
xor edi, eax
xor ecx, ecx
or edi, ebx
sete cl
jmp dword [ecx*4 + 0x44b53c]
mov edi, 1
mov eax, edx
mov edx, dword [esp + 0x80]
jmp dword [edi*4 + 0x44b544]
xor eax, eax
mov ebx, dword [esp + 0x24]
test ebx, ebx
setne al
mov esi, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
jmp dword [eax*4 + 0x44b54c]
jmp dword [0x44b57c]
push ecx
call fcn.0040c6a0
add esp, 4
mov esi, dword [esi + 4]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x44b4c4]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ecx
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx + eax + 1], 0
lea eax, [eax + 1]
jne 0x428b00
jmp dword [0x44b554]
mov dword [esp + 0x24], 0
xor ebx, ebx
mov esi, dword [esp + 8]
cmp esi, dword [esp + 0x84]
setne bl
mov dword [esp + 0x80], edx
jmp dword [ebx*4 + 0x44b534]
mov byte [esi], 0
push 0
push 0x10
push 0
push edi
call fcn.0042b3a0
add esp, 0x10
mov byte [esi], 0
push 0
push 0x10
push 0
push edi
call fcn.0042b3a0
add esp, 0x10
jmp dword [0x44b530]
not eax
shr eax, 0x1f
mov dword [esp + 0x20], 0
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x18], ecx
jmp dword [eax*4 + 0x44b494]
mov esi, dword [esp + 0x94]
lea eax, [esi + 1]
push eax
call fcn.0040c690
add esp, 4
push 0
push esi
mov dword [esp + 0xa4], eax
push eax
push dword [esp + 0x34]
call fcn.004434b0
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 0x20], 0
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x18], ecx
jmp dword [eax*4 + 0x44b49c]
mov dword [esp + 0x84], ebp
mov esi, dword [esp + 0x94]
mov edi, dword [esp + 0x9c]
mov byte [edi + esi], 0
push 0x20
call fcn.0040c690
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 + 0x98], eax
mov ecx, eax
push esi
push edi
call fcn.0042afb0
movzx eax, al
mov dword [esp + 0x20], 0
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x18], ecx
jmp dword [eax*4 + 0x44b4a4]
mov dword [esp + 0x2c], 0xc5d8cea9
mov dword [esp + 0x30], 0xd2c0d0f9
mov dword [esp + 0x34], 0xf5d5a185
mov dword [esp + 0x38], 0x98bbecfe
mov dword [esp + 0x3c], 0xfeede8f8
mov dword [esp + 0x40], 0xfbf386b1
mov dword [esp + 0x44], 0xede3e0fa
mov dword [esp + 0x48], 0xe5fff89d
mov word [esp + 0x4c], 0x5ffb
mov dword [esp + 0x4e], 0
mov byte [esp + 0x52], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x26
ja 0x428ceb
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x2c]
mov edx, ecx
not edx
or edx, 0x3ced0295
add edx, ecx
xor ecx, 0xbced0295
lea edx, [edx*2 + 2]
mov esi, edx
and esi, ecx
xor ecx, edx
lea ecx, [ecx + esi*2]
xor ecx, eax
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x10]
add al, 0x17
mov ecx, dword [esp]
mov byte [esp + ecx + 0x2c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x27
jb 0x428ca0
mov ecx, dword [esp + 0x98]
lea eax, [esp + 0x2c]
push eax
call fcn.0042b1a0
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x20], 0
mov edx, dword [esp + 0xc]
mov dword [esp + 0x18], edx
jmp dword [ecx*4 + 0x44b4ac]
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0x84]
jmp dword [0x44b584]
mov esi, dword [esp + 0x98]
mov ecx, esi
call fcn.0042b300
push esi
call fcn.0040c6a0
add esp, 4
jmp dword [0x44b58c]
jmp dword [0x44b58c]
push dword [esp + 0x9c]
call fcn.0040c6a0
add esp, 4
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], 0x54554a4b
mov word [esp + 0x30], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 5
ja 0x428dd2
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 + 0x2c]
mov esi, ecx
xor esi, 0xd38e4a6e
and ecx, 0xd38e4a6e
lea ecx, [esi + ecx*2]
lea esi, [ecx + edx]
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0x10], esi
mov ecx, dword [esp + 0x10]
add cl, 0xda
mov edx, dword [esp]
mov byte [esp + edx + 0x2c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 6
jb 0x428d90
mov ecx, dword [0x44f3c8]
test ecx, ecx
je 0x428e08
mov edx, dword [esp + 0x2c]
xor esi, esi
mov edi, dword [0x44f3cc]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x428e00
inc esi
cmp ecx, esi
jne 0x428df0
jmp 0x428e08
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x428e2c
mov edi, ebx
mov ebx, dword [esp + 0x20]
jmp dword [0x44b594]
mov ecx, ebx
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x44b59c]
mov ebx, ecx
jmp dword [0x44b5a4]
mov edi, ebx
push eax
push 1
push dword [0x44f3d0]
push ecx
call fcn.0043f830
add esp, 0x10
mov ebx, dword [esp + 0x20]
jmp dword [0x44b594]
mov esi, dword [eax + 8]
mov eax, dword [case.0x428d13.5]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
test esi, esi
setne al
mov dword [esp + 0x20], 0
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x18], ecx
jmp dword [eax*4 + 0x44b4c4]
jmp dword [0x44b478]
xor ebx, ebx
mov edi, dword [esp + 8]
test edi, edi
je 0x428ec1
cmp edi, ebp
je 0x428ec1
mov esi, edi
jmp 0x428ea7
add esi, 8
cmp esi, ebp
je 0x428eb8
mov eax, dword [esi]
test eax, eax
je 0x428ea0
push eax
call fcn.0040c6a0
add esp, 4
jmp 0x428ea0
push edi
call fcn.0040c6a0
add esp, 4
mov eax, ebx
add esp, 0xa0
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0x94]
push 0
push eax
push dword [esp + 0x30]
call fcn.004433b0
add esp, 0xc
lea eax, [esp + 0x94]
push 0
push eax
push dword [esp + 0x30]
call fcn.004433b0
add esp, 0xc
jmp dword [0x44b48c]
mov edi, ebx
xor ebx, ebx
mov eax, dword [esp + 0xc]
mov dword [esp + 0x18], eax
jmp dword [0x44b594]
push dword [esp + 0x90]
call fcn.0040c6a0
add esp, 4
mov ecx, ebx
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x44b59c]
mov esi, dword [esp + 0x18]
mov byte [esi], 0
mov dword [esp + 0x2c], 0x5d5a5b73
mov dword [esp + 0x30], 0x49595a5f
mov dword [esp + 0x34], 0x4c505253
mov dword [esp + 0x38], 0x26321211
mov dword [esp + 0x3c], 0x156b2823
mov dword [esp + 0x40], 0x272d2229
mov dword [esp + 0x44], 0x393e6139
mov dword [esp + 0x48], 0xaf3c
mov byte [esp + 0x4c], 0
sub esi, dword [esp + 0xc]
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x20
ja 0x428fc9
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x2c]
mov edx, eax
xor edx, 0x75b11233
and eax, 0xf5b11233
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
inc al
mov ecx, dword [esp]
mov byte [esp + ecx + 0x2c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x21
jb 0x428f90
mov ecx, edi
push esi
push dword [esp + 0x10]
lea eax, [esp + 0x34]
push eax
call fcn.0040d220
mov ebx, eax
jmp dword [0x44b5a4]
push dword [esp + 0xc]
call fcn.0040c6a0
add esp, 4
and bl, 1
jmp 0x428e88
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x2c], 0x54554a4b
mov word [esp + 0x30], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 5
ja 0x429062
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x2c]
mov esi, ecx
xor esi, 0xd38e4a6e
and ecx, 0xd38e4a6e
lea ecx, [esi + ecx*2]
lea esi, [ecx + edx]
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0x10], esi
mov ecx, dword [esp + 0x10]
add cl, 0xda
mov edx, dword [esp]
mov byte [esp + edx + 0x2c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 6
jb 0x429020
mov ecx, dword [0x44f3c8]
test ecx, ecx
je 0x42909c
mov edx, dword [esp + 0x2c]
xor esi, esi
mov edi, dword [0x44f3cc]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x429090
inc esi
cmp ecx, esi
jne 0x429080
jmp 0x42909c
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x429304
mov esi, dword [esp + 8]
jmp dword [0x44b45c]
xor eax, eax
mov dword [esp + 8], esi
cmp esi, ebp
sete al
jmp dword [eax*4 + 0x44b464]
mov eax, ebp
sub eax, dword [esp + 8]
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.0040c690
add esp, 4
mov dword [esp + 0xc], eax
mov eax, dword [0x44f3c4]
mov dword [esp + 0x2c], 0x41f2472b
mov dword [esp + 0x30], 0x4def43d1
mov dword [esp + 0x34], 0x49da4fef
mov dword [esp + 0x38], 0xb5da4b0b
mov dword [esp + 0x3c], 0xb1fab724
mov dword [esp + 0x40], 0xbd2eb313
mov dword [esp + 0x44], 0xb9d1bf1f
mov dword [esp + 0x48], 0xa507bb1c
mov dword [esp + 0x4c], 0xa109a738
mov dword [esp + 0x50], 0xad35a303
mov dword [esp + 0x54], 0xa93aaf08
mov dword [esp + 0x58], 0x9507ab39
mov dword [esp + 0x5c], 0x91029737
mov dword [esp + 0x60], 0x9d0c93c6
mov dword [esp + 0x64], 0x99309f30
mov dword [esp + 0x68], 0x9b98
mov byte [esp + 0x6c], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x40
ja 0x4291ab
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x2c]
mov esi, ecx
xor esi, 0xade089f1
and ecx, 0x2de089f1
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
add cl, 0x4b
mov edx, dword [esp]
mov byte [esp + edx + 0x2c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x41
jb 0x429170
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x1c]
push edx
push 0
push 0
push 0x1e
push ecx
push 0
call eax
mov esi, dword [esp + 0x1c]
test esi, esi
jns 0x4291ce
mov eax, 0xffffffff
jmp 0x4291d1
lea eax, [esi + esi]
push eax
call fcn.0040c690
add esp, 4
mov dword [esp + 0x90], eax
mov eax, dword [0x44f3c4]
mov dword [esp + 0x2c], 0x49fe4b17
mov dword [esp + 0x30], 0x45db47d9
mov dword [esp + 0x34], 0x41d643db
mov dword [esp + 0x38], 0xbd2ebfff
mov dword [esp + 0x3c], 0xb906bb2c
mov dword [esp + 0x40], 0xb53ab727
mov dword [esp + 0x44], 0xb1e9b32b
mov dword [esp + 0x48], 0xad03af14
mov dword [esp + 0x4c], 0xa931ab20
mov dword [esp + 0x50], 0xa535a737
mov dword [esp + 0x54], 0xa136a300
mov dword [esp + 0x58], 0x9d039f31
mov dword [esp + 0x5c], 0x990e9b03
mov dword [esp + 0x60], 0x951c97ca
mov dword [esp + 0x64], 0x91089308
mov dword [esp + 0x68], 0x8f90
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x3f
ja 0x4292c2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x2c]
mov edi, ecx
xor edi, 0x44c03773
and ecx, 0xc4c03773
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, 0xc1
mov edx, dword [esp]
mov byte [esp + edx + 0x2c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x40
jb 0x429280
lea ecx, [esp + 0x1c]
push ecx
push esi
mov esi, dword [esp + 0x98]
push esi
push 0x1e
lea ecx, [esp + 0x3c]
push ecx
push 0
call eax
lea eax, [esp + 0x28]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.00443030
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44b47c]
jmp dword [0x44b484]
push eax
push 1
push dword [0x44f3d0]
push ecx
call fcn.0043f830
add esp, 0x10
mov esi, dword [esp + 8]
jmp dword [0x44b45c]
push esi
call fcn.0040c6a0
add esp, 4
push esi
call fcn.0040c6a0
add esp, 4
jmp dword [0x44b458]
push dword [esp + 0x4c]
push 1
push dword [0x44f3d0]
push eax
call fcn.0043f830
add esp, 0x10
jmp dword [0x44b62c]
mov dword [esp + 0xb4], esi
mov dword [esp + 0xb0], eax
push eax
call fcn.00404470
add esp, 4
mov dword [esp + 0x14], 0xd0d5c2c7
mov dword [esp + 0x18], 0xc3cec4ce
mov dword [esp + 0x1c], 0xd8ccd40e
mov dword [esp + 0x20], 0x3b363c36
mov dword [esp + 0x24], 0x28252d2d
mov word [esp + 0x28], 0x3421
mov byte [esp + 0x2a], 0xce
mov dword [esp + 0x2b], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x1a
ja 0x42986c
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x14]
mov esi, ecx
xor esi, 0x759ca474
and ecx, 0xf59ca474
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 + 0xc], ecx
mov ecx, dword [esp + 0xc]
add cl, 0xbc
mov edx, dword [esp]
mov byte [esp + edx + 0x14], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x1b
jb 0x429820
lea ecx, [esp + 0x14]
push ecx
push eax
call fcn.004045b0
add esp, 8
mov edx, eax
mov ecx, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
cmp byte [edx + ecx + 1], 0
lea ecx, [ecx + 1]
jne 0x429890
mov eax, ecx
and eax, 3
mov esi, ecx
or esi, 3
imul esi, eax
xor eax, 3
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x48]
and ecx, 0xfffffffc
imul ecx, eax
add esi, ecx
mov ecx, dword [esp + 0x48]
shr esi, 2
movzx eax, byte [edx + ecx - 1]
cmp eax, 0x3d
je 0x4298d2
cmp eax, 0x2e
jne 0x4298d3
dec esi
movzx eax, byte [edx + ecx - 2]
cmp eax, 0x3d
mov dword [esp + 0x8c], edx
je 0x4298e9
cmp eax, 0x2e
jne 0x4298ea
dec esi
mov dword [esp + 0xac], esi
lea eax, [esi + 1]
push eax
call fcn.0040c690
add esp, 4
mov dword [esp + 0x54], eax
cmp dword [esp + 0x48], 0
je 0x429a52
mov dword [esp + 0x4c], 0
mov esi, 2
jmp 0x42993b
mov dword [esp + 0x4c], edx
mov ebp, dword [esp + 0x88]
lea eax, [esi + 4]
add esi, 2
cmp esi, ecx
mov esi, eax
jae 0x429a52
mov ebp, dword [esp + 0x8c]
movzx eax, byte [ebp + esi - 2]
push eax
call fcn.0041e910
add esp, 4
mov bh, al
movzx eax, byte [ebp + esi - 1]
push eax
call fcn.0041e910
add esp, 4
shl bh, 2
mov ah, al
shr ah, 4
and ah, 3
or ah, bh
mov ebx, dword [esp + 0x4c]
mov ecx, ebx
and ecx, 1
mov edx, ebx
xor edx, 1
lea edx, [edx + ecx*2]
mov ecx, dword [esp + 0x54]
mov byte [ecx + ebx], ah
mov ecx, dword [esp + 0x48]
cmp esi, ecx
jae 0x429920
mov ebx, eax
mov dword [esp + 0x84], edx
mov eax, dword [esp + 0x8c]
movzx eax, byte [eax + esi]
push eax
call fcn.0041e910
add esp, 4
cmp al, 0x40
jne 0x4299d0
mov eax, dword [esp + 0x84]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x48]
jmp 0x429924
shl bl, 4
mov ecx, eax
shr cl, 2
and cl, 0xf
or cl, bl
mov ebx, dword [esp + 0x84]
lea edx, [ebx + 1]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x54]
mov byte [edx + ebx], cl
lea ecx, [esi + 1]
mov edx, dword [esp + 0x48]
cmp ecx, edx
mov ebp, dword [esp + 0x88]
jae 0x429a4b
mov ebx, eax
mov eax, dword [esp + 0x8c]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.0041e910
mov ecx, dword [esp + 0x4c]
add esp, 4
cmp al, 0x40
je 0x42992b
shl bl, 6
add al, bl
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x84]
mov byte [ecx + edx + 1], al
mov ecx, dword [esp + 0x48]
add edx, 2
mov dword [esp + 0x4c], edx
jmp 0x42992b
mov ecx, edx
jmp 0x42992b
mov eax, dword [esp + 0xac]
add eax, 0xfffffffb
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x54]
add eax, 5
mov dword [esp + 0x10], eax
mov dword [esp], 0
mov dword [esp + 4], 0
push 0x6c625980
push dword [0x44f3d4]
call fcn.004425e0
add esp, 8
mov ecx, esp
lea edx, [esp + 0xc]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x44b5ec]
jmp dword [0x44b5f4]
push dword [esp + 0x54]
call fcn.0040c6a0
add esp, 4
push dword [esp + 0xb0]
call fcn.004046e0
add esp, 4
jmp dword [0x44b624]
mov ebx, eax
jmp dword [0x44b604]
push esi
call fcn.0040c6a0
add esp, 4
jmp dword [0x44b60c]
jmp dword [0x44b60c]
push 0xe050b307
push dword [0x44f3bc]
call fcn.004425e0
add esp, 8
push dword [esp + 4]
call eax
nop
nop
push 0xe050b307
push dword [0x44f3bc]
call fcn.004425e0
add esp, 8
push dword [esp + 4]
call eax
jmp dword [0x44b614]
mov esi, dword [esp + 0xb4]
jmp dword [0x44b61c]
lea eax, [edi + 0x10]
cmp dword [esp + 0x58], 0xfffffff8
jge 0x429b4b
mov eax, 0xffffffff
push eax
call fcn.0040c690
add esp, 4
mov esi, eax
mov dword [esp + 0x14], 0x43e6412f
mov dword [esp + 0x18], 0x472845d4
mov dword [esp + 0x1c], 0x4bd249dc
mov dword [esp + 0x20], 0x4f4e4dd8
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0xf
ja 0x429be5
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x14]
mov edx, eax
xor edx, 0xec1deff0
and eax, 0xec1deff0
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 + 0x9c], eax
mov eax, dword [esp + 0x9c]
add al, 0x50
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x14], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x10
jb 0x429b90
movzx ecx, word [ebp]
mov eax, esi
test cx, cx
je 0x429c11
lea edx, [ebp + 2]
mov eax, esi
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 0x429c00
mov word [eax], 0
movzx ecx, word [esp + 0x14]
test cx, cx
je 0x429c41
mov edx, dword [esp + 0xa0]
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 0x429c30
mov word [eax], 0
mov ecx, dword [esp + 0x110]
push dword [esp]
push dword [esp + 8]
push esi
call fcn.0040d060
jmp dword [0x44b600]
lea eax, [edi + 0x10]
cmp dword [esp + 0x58], 0xfffffff8
jge 0x429c6f
mov eax, 0xffffffff
push eax
call fcn.0040c690
add esp, 4
mov dword [esp + 0x14], 0x43e6412f
mov dword [esp + 0x18], 0x472845d4
mov dword [esp + 0x1c], 0x4bd249dc
mov dword [esp + 0x20], 0x4f4e4dd8
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 0xf
ja 0x429d07
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx + 0x14]
mov esi, ecx
xor esi, 0xec1deff0
and ecx, 0xec1deff0
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 + 0x9c], ecx
mov ecx, dword [esp + 0x9c]
add cl, 0x50
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x14], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 0x10
jb 0x429cb0
movzx edx, word [ebp]
mov ecx, eax
test dx, dx
je 0x429d31
lea esi, [ebp + 2]
mov ecx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x429d20
mov word [ecx], 0
movzx edx, word [esp + 0x14]
test dx, dx
je 0x429d61
mov esi, dword [esp + 0xa0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x429d50
mov word [ecx], 0
mov ecx, dword [esp + 0x110]
push dword [esp]
push dword [esp + 8]
push eax
call fcn.0040d060
jmp case.0x428115.150
mov dword [esp + 0xcc], ecx
mov ebp, dword [esp + ecx + 0x74]
mov edi, 0xfffffffe
cmp word [ebp + edi + 2], 0
lea edi, [edi + 2]
jne 0x429d90
mov ebx, edi
sar ebx, 1
mov eax, dword [esp + 0x98]
lea ecx, [ebx + eax]
add ecx, 0xd
test ecx, ecx
jns 0x429dc0
mov eax, 0xffffffff
jmp 0x429dc9
add eax, ebx
lea eax, [eax*2 + 0x1a]
push eax
call fcn.0040c690
add esp, 4
mov edx, eax
mov eax, dword [esp + 0x50]
movzx ecx, word [eax]
mov dword [esp + 0x90], edx
mov eax, edx
test cx, cx
je 0x429e11
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0x90]
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 0x429e00
mov word [eax], 0x5c
mov dword [esp + 0x14], 0xb946bb68
mov dword [esp + 0x18], 0xbd5bbf29
mov dword [esp + 0x1c], 0xb12eb35b
mov dword [esp + 0x20], 0xb543b790
mov dword [esp + 0x24], 0xa94dab20
mov dword [esp + 0x28], 0xad35af3c
mov word [esp + 0x2c], 0xa3ac
mov ecx, dword [esp + 0xc8]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x1c
ja 0x429eab
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x14]
mov esi, ecx
xor esi, 0x6dbac15f
and ecx, 0xedbac15f
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
add cl, 0x25
mov edx, dword [esp]
mov byte [esp + edx + 0x14], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x1d
jb 0x429e70
add eax, 2
movzx ecx, word [ebp]
test cx, cx
je 0x429ed1
lea edx, [ebp + 2]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x429ec0
mov word [eax], 0
movzx ecx, word [esp + 0x14]
test cx, cx
je 0x429f01
mov edx, dword [esp + 0xc4]
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 0x429ef0
mov dword [esp + 0x58], ebx
mov word [eax], 0
lea eax, [esp + 0x94]
push 0x60
push 3
push 0x120089
push eax
push dword [esp + 0xa0]
call fcn.00443030
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44b5cc]
xor ebx, ebx
jmp dword [0x44b62c]
lea eax, [esp + 0xa8]
push 0
push eax
push dword [esp + 0x9c]
call fcn.004433b0
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44b5d4]
mov esi, dword [esp + 0xa8]
lea eax, [esi + 1]
push eax
call fcn.0040c690
add esp, 4
push 0
push esi
mov esi, eax
push eax
push dword [esp + 0xa0]
call fcn.004434b0
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
mov dword [esp + 0x88], ebp
jmp dword [eax*4 + 0x44b5dc]
mov eax, dword [esp + 0xa8]
mov byte [esi + eax], 0
push esi
call fcn.00403b10
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x44b5e4]
jmp dword [0x44b624]
push esi
call fcn.0040c6a0
add esp, 4
mov eax, dword [esp + 0x94]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x14], 0x54554a4b
mov word [esp + 0x18], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 5
ja 0x42a040
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x14]
mov edx, eax
xor edx, 0xd38e4a6e
and eax, 0xd38e4a6e
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xc]
add al, 0xda
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 6
jb 0x42a000
mov ecx, dword [0x44f3c8]
test ecx, ecx
je 0x42a080
mov edx, dword [esp + 0x14]
xor esi, esi
mov eax, dword [0x44f3cc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [eax + esi*8], 0x625b6034
je 0x42a070
inc esi
cmp ecx, esi
jne 0x42a060
jmp 0x42a080
mov eax, dword [eax + esi*8 + 4]
cmp eax, edx
jne 0x4297a3
nop
nop
nop
nop
jmp dword [0x44b62c]
push dword [esp + 0x90]
call fcn.0040c6a0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x44b63c]
movzx eax, bl
jmp dword [eax*4 + 0x44b644]
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x58]
lea ecx, [edx + eax]
add ecx, 0x17
test ecx, ecx
jns 0x42a0d0
mov eax, 0xffffffff
jmp 0x42a0d9
add eax, edx
lea eax, [eax*2 + 0x2e]
push eax
call fcn.0040c690
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x50]
movzx ecx, word [eax]
mov eax, esi
test cx, cx
je 0x42a111
mov edx, dword [esp + 0xa4]
mov eax, esi
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42a100
mov word [eax], 0
mov word [eax], 0x5c
mov dword [esp + 0x14], 0x19ce1bb8
mov dword [esp + 0x18], 0xe54be7a9
mov dword [esp + 0x1c], 0xe156e34b
mov dword [esp + 0x20], 0xed33ef00
mov dword [esp + 0x24], 0xe95beb50
mov dword [esp + 0x28], 0xf559f756
mov dword [esp + 0x2c], 0xf159f35d
mov dword [esp + 0x30], 0xfd4aff54
mov dword [esp + 0x34], 0xf940fb57
mov dword [esp + 0x38], 0xc572c753
mov dword [esp + 0x3c], 0xc16cc368
mov word [esp + 0x40], 0xcfc0
mov ecx, dword [esp + 0xc0]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x30
ja 0x42a1db
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x14]
mov ebx, ecx
xor ebx, 0x17223dfb
and ecx, 0x17223dfb
lea ecx, [ebx + ecx*2]
xor ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
add cl, 0x19
mov edx, dword [esp]
mov byte [esp + edx + 0x14], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x31
jb 0x42a1a0
add eax, 2
movzx ecx, word [ebp]
test cx, cx
je 0x42a203
lea edx, [ebp + 2]
mov ebx, dword [esp + 0x58]
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42a1f0
jmp 0x42a207
mov ebx, dword [esp + 0x58]
mov word [eax], 0
movzx ecx, word [esp + 0x14]
test cx, cx
je 0x42a231
mov edx, dword [esp + 0xbc]
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42a220
mov word [eax], 0
cmp ebx, 0xfffffff7
jge 0x42a250
mov edi, 0xffffffff
jmp 0x42a253
add edi, 0x12
push edi
call fcn.0040c690
add esp, 4
mov edi, eax
mov dword [esp + 0x14], 0x29862b55
mov dword [esp + 0x18], 0x2d942f83
mov dword [esp + 0x1c], 0x319e3387
mov dword [esp + 0x20], 0x35903794
mov word [esp + 0x24], 0x3b34
mov dword [esp + 0x26], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x15
ja 0x42a2d9
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x14]
mov edx, eax
xor edx, 0xec905507
and eax, 0xec905507
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0xdd
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x16
jb 0x42a2a0
movzx ecx, word [ebp]
mov eax, edi
test cx, cx
je 0x42a302
add ebp, 2
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [ebp]
add ebp, 2
test cx, cx
jne 0x42a2f0
mov word [eax], 0
movzx ecx, word [esp + 0x14]
test cx, cx
je 0x42a331
mov edx, dword [esp + 0xb8]
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 0x42a320
mov word [eax], 0
mov dword [esp + 0x14], 0x999a9baa
mov dword [esp + 0x18], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x42a3ad
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x14]
lea edx, [eax + eax]
and edx, 0xa60a1f36
mov ebx, eax
sub ebx, edx
mov edx, eax
xor edx, 0x2cfaf064
or eax, 0x53050f9b
and eax, edx
lea eax, [ebx + eax*2]
add eax, 0xd3050f9b
xor eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0xf9
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x42a360
push 0
push 0
push 0
push 0xc00000
lea eax, [esp + 0x24]
push eax
push esi
push edi
push dword [esp + 0x12c]
call fcn.00421510
add esp, 0x20
mov ebx, eax
jmp dword [0x44b64c]
jmp dword [0x44b658]
push edi
call fcn.0040c6a0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push edi
call fcn.0040c6a0
add esp, 4
jmp dword [0x44b660]
jmp dword [0x44b664]
push esi
call fcn.0040c6a0
add esp, 4
mov eax, dword [case.0x428115.179]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [esp + 0x80]
and al, 1
or al, bl
mov dword [esp + 0x80], eax
mov eax, dword [case.0x428115.170]
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [case.0x428115.190]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov ecx, dword [esp + 0xcc]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x44b5ac]
jmp dword [0x44b5c4]
push dword [esp + 0x50]
call fcn.0040c6a0
add esp, 4
jmp dword [0x44b6a0]
jmp dword [0x44b6a0]
jmp dword [0x44b6a4]
jmp dword [0x44b6a4]
mov eax, dword [esp + 0x80]
and al, 1
add esp, 0xfc
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
jmp dword [0x44b7b4]
push ebx
mov esi, eax
call fcn.0040c6a0
mov eax, esi
add esp, 4
jmp dword [0x44b7bc]
lea eax, [esp + 0x80]
push 0
push eax
push dword [esp + 0x78]
call fcn.004433b0
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 0x10], 0
jmp dword [eax*4 + 0x44b6b4]
mov esi, dword [esp + 0x80]
lea eax, [esi + 1]
push eax
call fcn.0040c690
add esp, 4
push 0
push esi
mov dword [esp + 0x7c], eax
push eax
push dword [esp + 0x7c]
call fcn.004434b0
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 0x10], 0
jmp dword [eax*4 + 0x44b6bc]
jmp dword [0x44b7ac]
push dword [esp + 0x74]
call fcn.0040c6a0
add esp, 4
mov eax, dword [esp + 0x70]
mov dword [esp + 0x28], 0x54554a4b
mov word [esp + 0x2c], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 5
ja 0x42a832
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x28]
mov esi, ecx
xor esi, 0xd38e4a6e
and ecx, 0xd38e4a6e
lea ecx, [esi + ecx*2]
lea esi, [ecx + edx]
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 4], esi
mov ecx, dword [esp + 4]
add cl, 0xda
mov edx, dword [esp]
mov byte [esp + edx + 0x28], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 6
jb 0x42a7f0
mov ecx, dword [0x44f3c8]
test ecx, ecx
je 0x42a86c
mov edx, dword [esp + 0x28]
xor esi, esi
mov edi, dword [0x44f3cc]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x42a860
inc esi
cmp ecx, esi
jne 0x42a850
jmp 0x42a86c
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42af92
mov eax, dword [esp + 0x10]
and al, 1
jmp dword [0x44b7b4]
jmp dword [0x44b7bc]
jmp dword [0x44b7c4]
jmp dword [0x44b7c4]
add esp, 0x88
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x74]
mov byte [ecx + eax], 0
mov dword [esp + 0x10], 0
mov edi, ecx
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x28], 0xbeb2bcba
mov dword [esp + 0x2c], 0x42b5c0b6
mov word [esp + 0x30], 0xfd1b
mov byte [esp + 0x32], 0xde
mov word [esp + 0x33], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xc
ja 0x42a96a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x28]
mov edx, ecx
xor edx, 0xaa79acf9
and ecx, 0x2a79acf9
lea ecx, [edx + ecx*2]
mov edx, ecx
mov esi, eax
not esi
or esi, ecx
and ecx, eax
xor edx, eax
lea ecx, [edx + ecx*2]
lea edx, [eax + esi]
add eax, esi
inc eax
mov esi, ecx
not esi
and esi, eax
not eax
and eax, ecx
lea ecx, [esi + edx]
inc ecx
sub eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
mov ecx, eax
not ecx
and ecx, 0xdd
and eax, 0x22
sub eax, ecx
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xd
jb 0x42a900
movzx ecx, byte [esp + 0x28]
test cl, cl
je 0x42a9b0
lea eax, [esp + 0x28]
mov ebp, edi
jmp 0x42a987
movzx ecx, byte [eax]
test cl, cl
je 0x42a9c2
movzx edx, byte [edi]
test dl, dl
je 0x42a9c0
inc edi
inc eax
lea esi, [ebp + 1]
cmp dl, cl
je 0x42a99b
mov ebp, esi
mov edi, esi
je 0x42a980
lea eax, [esp + 0x28]
jmp 0x42a980
mov ebp, edi
jmp 0x42a9c2
xor ebp, ebp
xor eax, eax
test ebp, ebp
sete al
jmp dword [eax*4 + 0x44b6c4]
lea edi, [ebp + 0xa]
mov dword [esp + 0x78], ebp
movzx eax, byte [ebp + 0xa]
xor ebp, ebp
test al, al
je 0x42aa02
mov ecx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x22
je 0x42aa00
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x42a9f0
jmp 0x42aa02
mov ebp, ecx
mov esi, ebp
sub esi, edi
xor eax, eax
cmp esi, 5
setb al
jmp dword [eax*4 + 0x44b6cc]
xor eax, eax
cmp byte [ebp - 1], 0x74
setne al
jmp dword [eax*4 + 0x44b6d4]
mov eax, dword [case.0x42aa0e.6]
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
cmp byte [ebp - 2], 0x78
setne al
jmp dword [eax*4 + 0x44b6fc]
xor eax, eax
cmp byte [ebp - 3], 0x74
setne al
jmp dword [eax*4 + 0x44b704]
jmp dword [0x44b714]
xor eax, eax
cmp byte [ebp - 4], 0x2e
setne al
jmp dword [eax*4 + 0x44b71c]
lea eax, [esi*2 + 2]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ebp
mov dword [esp + 0x14], edi
mov dword [esp + 0xc], esi
jmp dword [0x44b728]
mov eax, esi
inc eax
jns 0x42aa9f
mov eax, 0xffffffff
jmp 0x42aaa6
lea eax, [esi*2 + 2]
push eax
call fcn.0040c690
add esp, 4
mov dword [esp + 0x28], 0
lea ebx, [eax + esi*2]
mov edi, eax
mov dword [esp + 8], eax
cmp eax, ebx
jae 0x42ab0d
mov edi, dword [esp + 8]
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x20]
jae 0x42ab0d
mov edi, dword [esp + 8]
mov esi, dword [esp + 0x14]
nop
nop
nop
nop
nop
nop
cmp byte [esi], 0
je 0x42ab0d
lea eax, [esp + 0x28]
push eax
mov ebp, dword [esp + 0x24]
push ebp
push esi
call fcn.00410bb0
add esp, 0xc
movzx ecx, word [esp + 0x28]
mov word [edi], cx
add edi, 2
cmp edi, ebx
jae 0x42ab0d
add esi, eax
cmp esi, ebp
jb 0x42aae0
mov word [edi], 0
push 0x60
push 3
push 0x120089
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x18]
call fcn.00443030
add esp, 0x14
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0xc]
jmp case.0x42aa0e.23
mov word [edi], 0
push 0x60
push 3
push 0x120089
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x18]
call fcn.00443030
add esp, 0x14
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0xc]
jmp dword [0x44b72c]
mov eax, esi
inc eax
mov eax, dword [esp + 0x1c]
jns 0x42ab7f
mov eax, 0xffffffff
push eax
call fcn.0040c690
add esp, 4
mov ecx, eax
mov ebx, ebp
test ebp, ebp
jne 0x42abab
mov eax, dword [esp + 0x78]
add eax, 9
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea ebx, [eax + 1]
cmp byte [eax + 1], 0
mov eax, ebx
jne 0x42aba0
lea ebp, [ecx + esi*2]
add ebp, 2
mov dword [esp + 0x28], 0
add ebp, 0xfffffffe
mov edi, ecx
mov dword [esp + 8], ecx
cmp ecx, ebp
jae 0x42ab40
mov edi, dword [esp + 8]
cmp dword [esp + 0x14], ebx
jae 0x42ab40
mov edi, dword [esp + 8]
mov esi, dword [esp + 0x14]
cmp byte [esi], 0
je 0x42ab40
lea eax, [esp + 0x28]
push eax
push ebx
push esi
call fcn.00410bb0
add esp, 0xc
movzx ecx, word [esp + 0x28]
mov word [edi], cx
add edi, 2
cmp edi, ebp
jae 0x42ab40
add esi, eax
cmp esi, ebx
jb 0x42abe0
jmp 0x42ab40
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44b734]
mov edi, ebp
mov ebx, dword [esp + 0x18]
jmp dword [0x44b794]
push dword [esp + 8]
call fcn.0040c6a0
add esp, 4
mov edi, ebp
nop
nop
nop
nop
mov eax, dword [case.0x428115.259]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp 0x42a8c0
push 0
lea eax, [esp + 0x80]
push eax
push dword [esp + 0x2c]
call fcn.004433b0
add esp, 0xc
test eax, eax
setns al
mov esi, dword [esp + 0x7c]
cmp esi, 0x100000
setb cl
and cl, al
movzx eax, cl
mov ebx, dword [esp + 0x18]
jmp dword [eax*4 + 0x44b73c]
push esi
call fcn.0040c690
add esp, 4
push 0
push esi
mov dword [esp + 0x24], eax
push eax
push dword [esp + 0x30]
call fcn.004434b0
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44b744]
xor ecx, ecx
mov eax, dword [esp + 8]
jmp 0x42acc8
add eax, 2
test dx, dx
je 0x42acd9
mov esi, ecx
movzx edx, word [eax]
mov ecx, eax
cmp dx, 0x5c
je 0x42acc0
mov ecx, esi
jmp 0x42acc0
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x44b74c]
xor esi, esi
xor eax, eax
jmp 0x42acfe
mov ecx, esi
sub ecx, dword [esp + 8]
sar ecx, 1
inc ecx
mov eax, dword [esp + 0xc]
mov esi, ecx
sub eax, ecx
mov ecx, eax
and ecx, 0x1b
xor eax, 0x1b
lea eax, [eax + ecx*2]
push eax
call fcn.0040c690
add esp, 4
mov dword [esp + 0x6c], eax
mov dword [esp + 0x28], 0xe4e2e4c9
mov dword [esp + 0x2c], 0xd9cf21de
mov dword [esp + 0x30], 0xd2f48924
mov dword [esp + 0x34], 0x90d5d8d0
mov dword [esp + 0x38], 0xde2ed6f6
mov dword [esp + 0x3c], 0x84c2dccc
mov word [esp + 0x40], 0x8e83
mov byte [esp + 0x42], 0xba
mov dword [esp + 0x43], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1e
ja 0x42ada8
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x28]
add eax, 0x7f7589c
xor eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
mov ecx, eax
xor ecx, 0xc
and eax, 0x73
add eax, eax
sub eax, ecx
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1f
jb 0x42ad70
movzx ecx, byte [esp + 0x28]
mov eax, dword [esp + 0x6c]
test cl, cl
je 0x42adcb
lea edx, [esp + 0x29]
mov eax, dword [esp + 0x6c]
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x42adc0
mov byte [eax], 0
mov edx, dword [esp + 0xc]
sub edx, esi
je 0x42ae04
mov ecx, esi
add edi, esi
mov dword [esp + 0xc], edx
and edx, 3
je 0x42ae08
xor ecx, ecx
movzx ebx, byte [edi]
cmp bl, 1
sbb edi, 0xffffffff
mov byte [eax + ecx], bl
inc ecx
cmp edx, ecx
jne 0x42ade5
add eax, ecx
sub dword [esp + 0xc], ecx
mov ecx, eax
mov ebx, dword [esp + 0x18]
jmp 0x42ae08
mov ecx, eax
jmp 0x42ae55
add esi, dword [esp + 0x78]
mov edx, ebp
sub edx, esi
add edx, 0xfffffff5
cmp edx, 3
mov esi, dword [esp + 0xc]
jb 0x42ae55
movzx ecx, byte [edi]
cmp cl, 1
sbb edi, 0xffffffff
mov byte [eax], cl
movzx ecx, byte [edi]
cmp cl, 1
sbb edi, 0xffffffff
mov byte [eax + 1], cl
movzx ecx, byte [edi]
cmp cl, 1
sbb edi, 0xffffffff
mov byte [eax + 2], cl
movzx edx, byte [edi]
cmp dl, 1
sbb edi, 0xffffffff
lea ecx, [eax + 4]
mov byte [eax + 3], dl
mov eax, ecx
add esi, 0xfffffffc
jne 0x42ae1c
mov byte [ecx], 0
mov ecx, dword [esp + 0x9c]
push dword [esp + 0x7c]
push dword [esp + 0x20]
mov esi, dword [esp + 0x74]
push esi
call fcn.0040d220
mov ecx, dword [esp + 0x10]
and cl, 1
or cl, al
mov dword [esp + 0x10], ecx
jmp dword [0x44b754]
jmp dword [0x44b760]
jmp dword [0x44b774]
mov eax, dword [case.0x428115.251]
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x44b78c]
push dword [esp + 0x1c]
call fcn.0040c6a0
add esp, 4
mov eax, dword [esp + 0x24]
mov dword [esp + 0x28], 0x54554a4b
mov word [esp + 0x2c], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 5
ja 0x42af22
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x28]
mov esi, ecx
xor esi, 0xd38e4a6e
and ecx, 0xd38e4a6e
lea ecx, [esi + ecx*2]
lea esi, [ecx + edx]
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 4], esi
mov ecx, dword [esp + 4]
add cl, 0xda
mov edx, dword [esp]
mov byte [esp + edx + 0x28], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 6
jb 0x42aee0
mov ecx, dword [0x44f3c8]
test ecx, ecx
je 0x42af58
mov edx, dword [esp + 0x28]
xor esi, esi
mov edi, dword [0x44f3cc]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x42af50
inc esi
cmp ecx, esi
jne 0x42af40
jmp 0x42af58
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42af60
mov edi, ebp
jmp dword [0x44b794]
push eax
push 1
push dword [0x44f3d0]
push ecx
call fcn.0043f830
add esp, 0x10
mov edi, ebp
jmp dword [0x44b794]
push esi
call fcn.0040c6a0
add esp, 4
push esi
call fcn.0040c6a0
add esp, 4
jmp dword [0x44b764]
push eax
push 1
push dword [0x44f3d0]
push ecx
call fcn.0043f830
add esp, 0x10
mov eax, dword [esp + 0x10]
and al, 1
jmp dword [0x44b7b4]
add byte [edx], 0xc2
add byte [edx], 0xb0
add byte [edx], 0xb4
add byte [edx], 0xc0
add byte [edx], 0xc0
add byte [edx], 0xc2
add byte [edx], 0xc0
add byte [edx], 0xd0
add byte [edx], 0xd0
add byte [edx], 0xd2
add byte [edx], 0xd0
add byte [edx], 0xe1
add byte [edx], 0x70
jge 0x44b415
add byte [0x8500427d], ch
jge 0x44b41d
add byte [0x8500427d], ch
jge 0x44b425
add byte [ebx], bh
jge 0x44b429
add byte [ecx + eax*4], bl
inc edx
add byte [edx + eax*4], bh
inc edx
add byte [ebp - 0x7e], dl
inc edx
add byte [edi], dl
add dword [edx], 0x65
add byte [edx], 0x3e
add dword [edx], 0x66
add dword [edx], 0xfffffff6
pop dword [edx]
pop dword [ebx - 0x7ad9ffbe]
inc edx
add cl, dl
add dword [edx], 0xfffffff1
test byte [edx], al
xor eax, dword [edx + eax*2 + 0x4284f100]
add byte [edx], dh
test dword [edx], eax
int1
test byte [edx], al
xor al, byte [ebp - 0x7b0effbe]
inc edx
add byte [eax - 0x6fffbd7b], dl
test byte [edx], al
nop
test dword [edx], eax
nop
test dword [edx], eax
nop
test dword [edx], eax
xchg esi, eax
test dword [edx], eax
nop
test dword [edx], eax
or dword [ebp - 0x7ad9ffbe], eax
inc edx
add byte [eax*4 - 0x7009ffbe], ch
inc edx
add byte [ecx], ch
xchg ebx, eax
inc edx
add byte [eax], ah
xchg ebx, eax
inc edx
add byte [eax], ah
xchg ebx, eax
inc edx
add dh, dh
pop dword [edx]
dec eax
add dword [edx], -90
nop
inc edx
add byte [eax - 0x7fffbd70], bh
mov es, word [edx]
or byte [esi - 0x717fffbe], 0x42
add byte [eax - 2046803314], al
mov es, word [edx]
add byte [edi - 0x6d01ffbe], cl
inc edx
add ah, ah
mov es, word [edx]
into
mov es, word [edx]
pushal
mov eax, dword [edx]
into
mov es, word [edx]
pushal
lea eax, [edx]
jl 0x44b425
inc edx
add byte [ebx - 0x73], cl
inc edx
add dl, al
mov eax, dword [edx]
sbb cl, byte [ebp - 0x73c7ffbe]
inc edx
add byte [edx], bl
lea eax, [edx]
dec edx
mov es, word [edx]
pushal
mov es, word [edx]
pushal
mov es, word [edx]
pushal
mov es, word [edx]
bound ecx, qword [esi - 0x72e5ffbe]
inc edx
add byte [ebp - 0x73ffbd79], bl
xchg dword [edx], eax
loopne 0x44b459
inc edx
add al, ah
xchg dword [edx], eax
loopne 0x44b461
inc edx
add byte [edx], al
mov byte [edx], al
loopne 0x44b469
inc edx
add dl, cl
mov byte [edx], al
xor byte [eax - 0x77cfffbe], cl
inc edx
add byte [eax], dh
mov byte [edx], al
xor byte [eax - 0x77c9ffbe], cl
inc edx
add byte [ebp - 0x78], ah
inc edx
add byte [eax - 0x78], dh
inc edx
add byte [eax - 0x78], dh
inc edx
add byte [eax - 0x78], dh
inc edx
add byte [esi - 0x78], dh
inc edx
add byte [eax - 0x78], dh
inc edx
add byte [ecx - 0x4fffbd78], ah
mov byte [edx], al
mov al, 0x88
inc edx
add byte [eax + 0x48004288], bh
mov eax, dword [edx]
mov eax, dword ss:[edx]
mov eax, dword ss:[edx]
adc byte [ebx - 1968897982], cl
inc edx
add byte [esi - 0x76], ch
inc edx
add byte [eax + 0x4000428a], dl
mov al, byte [edx]
movsd dword es:[edi], dword [esi]
mov al, byte [edx]
pop eax
mov al, byte [edx]
lds ecx, [edx - 0x751affbe]
inc edx
add byte [eax], dh
mov al, byte [edx]
and cl, byte [edx - 0x75cfffbe]
inc edx
add ah, dl
mov byte [edx], al
sbb ecx, dword [ecx - 0x76daffbe]
inc edx
add byte [eax], ah
mov al, byte [edx]
and byte [edx - 0x753affbe], cl
inc edx
add byte [eax], ah
mov al, byte [edx]
retf
stosb byte es:[edi], al
inc edx
add byte [eax - 0x54], al
inc edx
add byte [0x400042aa], ah
lodsb al, byte [esi]
inc edx
add byte [eax], dh
stosb byte es:[edi], al
inc edx
add byte [eax], dh
stosb byte es:[edi], al
inc edx
add byte [edx], dh
stosb byte es:[edi], al
inc edx
add byte [eax], dh
stosb byte es:[edi], al
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [edx], dh
stosb byte es:[edi], al
inc edx
add byte [ecx], al
add byte [eax], al
add byte [edx - 0x56], al
inc edx
add byte [eax - 0x54], al
inc edx
add byte [eax - 0x56], ah
inc edx
add byte [eax - 0x54], al
inc edx
add byte [eax - 0x56], ah
inc edx
add byte [eax - 0x56], ah
inc edx
add byte [esi - 0x56], ah
inc edx
add byte [eax - 0x56], ah
inc edx
add byte [esi - 0x56], dh
inc edx
add byte [eax - 0x54], al
inc edx
add byte [ebx + 0x710042aa], dl
stosd dword es:[edi], eax
inc edx
add byte [esi], dl
lodsb al, byte [esi]
inc edx
add byte [ecx - 0x55], dh
inc edx
add byte [edx], ah
lodsb al, byte [esi]
inc edx
add byte [edi - 0x54], dl
inc edx
add byte [esi + ebp*4 - 0x5370ffbe], dh
inc edx
add byte [esi - 0x47ffbd52], dl
lodsb al, byte [esi]
inc edx
add bh, ah
lodsb al, byte [esi]
inc edx
add ch, ch
lodsb al, byte [esi]
inc edx
add byte [esi + ebp*4 - 0x516fffbe], al
inc edx
add byte [edx - 0x51], bh
inc edx
add byte [ebx - 0x6fffbd51], al
scasb al, byte es:[edi]
inc edx
add byte [edx - 0x51], bh
inc edx
add byte [eax - 0x6fffbd52], dl
scasb al, byte es:[edi]
inc edx
add byte [esi - 0x6fffbd52], dl
scasb al, byte es:[edi]
inc edx
add byte [eax - 0x5fffbd52], ah
scasb al, byte es:[edi]
inc edx
add byte [eax - 0x5dffbd52], ah
scasb al, byte es:[edi]
inc edx
add byte [eax - 0x4bffbd52], ch
scasb al, byte es:[edi]
inc edx
add byte [esi], ch
lodsb al, byte [esi]
inc edx
add byte [eax - 0x54], al
inc edx
add byte [eax - 0x54], dl
inc edx
add byte [eax - 0x54], dl
inc edx
add byte [eax - 0x54], dl
inc edx
add byte [edx - 0x54], dl
inc edx
add byte [esi - 0x35ffbd59], bh
cmpsd dword [esi], dword es:[edi]
inc edx
add byte [eax - 0x59], al
inc edx
add byte [eax - 0x58], bh
inc edx
add byte [esi - 0x58], bh
inc edx
add byte [eax - 0x69ffbd58], dl
test al, 0x42
add byte [eax + 0x42a8], dl
add byte [eax], al
add bl, bl
ret