Function at 0x42ccd2
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x460
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x5c], 0xd17acf79
mov dword [esp + 0x60], 0xd571d377
mov dword [esp + 0x64], 0xd938d77b
mov dword [esp + 0x68], 0xdd62db7f
mov dword [esp + 0x6c], 0xa1dedf7b
mov dword [esp + 0x70], 0
mov dword [esp + 0x30], 0
mov eax, dword [esp + 0x30]
cmp eax, 0x17
ja 0x42bddb
mov eax, dword [esp + 0x30]
movzx eax, byte [esp + eax + 0x5c]
push dword [esp + 0x30]
push eax
call fcn.0042f790
add esp, 8
mov ecx, dword [esp + 0x30]
mov byte [esp + ecx + 0x5c], al
inc dword [esp + 0x30]
mov eax, dword [esp + 0x30]
cmp eax, 0x18
jb case.default.0x42bdee
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x4c]
push eax
call fcn.00441d70
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x450270]
lea ecx, [esp + 0x4c]
push 0x410
call fcn.00441f70
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x450278]
mov dword [esp + 0x5c], 0xceb7f0c5
mov dword [esp + 0x60], 0xf8c6adc8
mov dword [esp + 0x64], 0xf4fdc7a9
mov dword [esp + 0x68], 0xe3fafa95
mov dword [esp + 0x6c], 0xc89f96e2
mov dword [esp + 0x70], 0xfb949a9d
mov dword [esp + 0x74], 0xe6e19afe
mov dword [esp + 0x78], 0xe29be48f
mov dword [esp + 0x7c], 0x8af8f2f6
mov dword [esp + 0x80], 0xea8fa5f9
mov dword [esp + 0x84], 0x2fde8989
mov dword [esp + 0x88], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2f
ja 0x42beb6
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x5c]
push dword [esp]
push eax
call fcn.0042f810
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x5c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x30
jb 0x42be90
lea eax, [esp + 0x30]
lea ecx, [esp + 0x4c]
push 0
push 0x2b
lea edx, [esp + 0x64]
push edx
push eax
call fcn.00442a80
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x34]
xor eax, eax
cmp esi, edi
sete al
jmp dword [eax*4 + 0x450280]
mov eax, edi
sub eax, esi
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.0040c6f0
add esp, 4
mov dword [esp + 0x44], 0
xor ecx, ecx
mov dword [esp + 0x28], esi
mov dword [esp + 0x48], edi
cmp esi, edi
setne cl
mov dword [esp + 0x3c], eax
mov edi, eax
jmp dword [ecx*4 + 0x450288]
mov ebx, dword [esp + 0x44]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x450290]
jmp dword [0x450300]
and bl, 1
jmp dword [0x450308]
mov ecx, dword [esp + 0x28]
add ecx, 8
xor eax, eax
mov dword [esp + 0x28], ecx
cmp ecx, dword [esp + 0x48]
setne al
jmp dword [eax*4 + 0x450288]
mov dword [esp + 0x24], edi
jmp dword [0x45029c]
mov dword [esp + 0xc], edx
jmp dword [0x4502cc]
mov eax, dword [esp + 0x2c]
mov ecx, eax
mov esi, dword [esp + 0xc]
sub ecx, esi
lea edx, [ecx + ecx*2]
shr edx, 2
movzx eax, byte [eax - 1]
cmp eax, 0x3d
je 0x42bf8f
cmp eax, 0x2e
jne 0x42bf90
dec edx
movzx eax, byte [esi + ecx - 2]
cmp eax, 0x3d
mov dword [esp + 0x1c], ecx
je 0x42bfa3
cmp eax, 0x2e
jne 0x42bfa4
dec edx
mov dword [esp + 0x40], edx
lea eax, [edx + 1]
push eax
call fcn.0040c6f0
add esp, 4
mov dword [esp + 0x10], eax
cmp dword [esp + 0x2c], esi
je 0x42c0aa
xor edx, edx
mov esi, 2
jmp 0x42bfe0
mov edx, dword [esp + 0x18]
nop
lea eax, [esi + 4]
add esi, 2
cmp esi, ecx
mov esi, eax
jae 0x42c0aa
mov dword [esp + 0x14], edx
mov edi, dword [esp + 0xc]
movzx eax, byte [edi + esi - 2]
push eax
call fcn.00421130
add esp, 4
mov ebx, eax
movzx eax, byte [edi + esi - 1]
push eax
call fcn.00421130
add esp, 4
mov bh, al
shl bl, 2
shr al, 4
and al, 3
or al, bl
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov byte [ecx + edx], al
inc edx
mov ecx, dword [esp + 0x1c]
cmp esi, ecx
jae 0x42bfd0
mov eax, dword [esp + 0xc]
movzx eax, byte [eax + esi]
push eax
mov edi, edx
call fcn.00421130
mov edx, edi
mov ecx, dword [esp + 0x20]
add esp, 4
cmp al, 0x40
je 0x42bfd0
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov edi, dword [esp + 0x14]
lea edx, [edi + 2]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x10]
mov byte [edx + edi + 1], al
lea eax, [esi + 1]
cmp eax, ecx
jae 0x42bfcb
mov eax, dword [esp + 0xc]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.00421130
mov ecx, dword [esp + 0x20]
add esp, 4
cmp al, 0x40
mov edx, dword [esp + 0x18]
je 0x42bfd0
shl bl, 6
add al, bl
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov byte [edx + edi + 2], al
add edi, 3
mov edx, edi
jmp 0x42bfd0
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x10]
mov byte [ecx + eax], 0
push ecx
call fcn.00403b00
add esp, 4
jmp case.0x42c47d.3
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x18]
mov byte [edi + eax], 0
push edi
call fcn.00403b00
add esp, 4
jmp dword [0x4502d0]
mov ecx, dword [esp + 0x2c]
mov esi, ecx
mov eax, dword [esp + 0xc]
xor esi, eax
mov edi, eax
not edi
and edi, ecx
add edi, edi
mov ecx, edi
sub ecx, esi
lea edx, [ecx + ecx*2]
shr edx, 2
movzx eax, byte [eax + ecx - 1]
cmp eax, 0x3d
je 0x42c118
cmp eax, 0x2e
jne 0x42c119
dec edx
mov eax, dword [esp + 0xc]
movzx eax, byte [eax + ecx - 2]
cmp eax, 0x3d
mov dword [esp + 0x10], ecx
je 0x42c130
cmp eax, 0x2e
jne 0x42c131
dec edx
mov dword [esp + 0x40], edx
lea eax, [edx + 1]
push eax
call fcn.0040c6f0
add esp, 4
mov dword [esp + 0x18], eax
cmp edi, esi
je 0x42c0d0
xor ecx, ecx
mov edi, 2
jmp 0x42c174
lea eax, [edi + 4]
add edi, 2
mov ecx, dword [esp + 0x1c]
cmp edi, edx
mov edi, eax
jae 0x42c0d0
mov dword [esp + 0x14], ecx
mov esi, dword [esp + 0xc]
movzx eax, byte [esi + edi - 2]
push eax
call fcn.00421130
add esp, 4
mov bh, al
movzx eax, byte [esi + edi - 1]
push eax
call fcn.00421130
add esp, 4
mov bl, al
shl bh, 2
shr al, 4
and al, 3
or al, bh
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov byte [ecx + edx], al
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x10]
cmp edi, edx
jae 0x42c160
mov eax, dword [esp + 0xc]
movzx eax, byte [eax + edi]
push eax
call fcn.00421130
mov edx, dword [esp + 0x14]
add esp, 4
cmp al, 0x40
je 0x42c160
shl bl, 4
mov ecx, eax
shr cl, 2
and cl, 0xf
or cl, bl
mov ebx, dword [esp + 0x14]
lea esi, [ebx + 2]
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x18]
mov byte [esi + ebx + 1], cl
lea ecx, [edi + 1]
cmp ecx, edx
jae 0x42c160
mov ecx, dword [esp + 0xc]
movzx ecx, byte [ecx + edi + 1]
push ecx
mov ebx, eax
call fcn.00421130
mov edx, dword [esp + 0x14]
add esp, 4
cmp al, 0x40
je 0x42c160
mov ecx, ebx
shl cl, 6
add al, cl
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov byte [ecx + esi + 2], al
add esi, 3
mov dword [esp + 0x1c], esi
jmp 0x42c160
mov esi, eax
jmp dword [0x4502d8]
jmp dword [0x4502e0]
push edi
call fcn.0040c700
add esp, 4
nop
nop
nop
nop
push edi
call fcn.0040c700
add esp, 4
jmp dword [0x4502e8]
push esi
call fcn.00404470
add esp, 4
mov edi, eax
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x4502f0]
mov edi, dword [esp + 0x24]
jmp 0x42c355
mov dword [esp], 0x89340001
mov dword [esp + 4], 0
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x20]
cmp eax, 7
ja 0x42c2e9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x20]
movzx eax, byte [esp + eax]
push dword [esp + 0x20]
push eax
call fcn.0042f890
add esp, 8
mov ecx, dword [esp + 0x20]
mov byte [esp + ecx], al
inc dword [esp + 0x20]
mov eax, dword [esp + 0x20]
cmp eax, 8
jb 0x42c2c0
mov eax, esp
push eax
push edi
call fcn.004043c0
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4502f8]
mov edi, dword [esp + 0x24]
jmp 0x42c333
movzx ecx, byte [eax]
test cl, cl
mov edi, dword [esp + 0x24]
je 0x42c32b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x42c320
mov word [edi], 0x203a
add edi, 2
movzx eax, byte [esp + 0x5c]
test al, al
je 0x42c34b
lea ecx, [esp + 0x5d]
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42c340
mov byte [edi], 0xa
inc edi
mov al, 1
mov dword [esp + 0x44], eax
push esi
call fcn.004046e0
add esp, 4
mov ecx, dword [esp + 0x28]
add ecx, 8
xor eax, eax
mov dword [esp + 0x28], ecx
cmp ecx, dword [esp + 0x48]
setne al
jmp dword [eax*4 + 0x450288]
xor eax, eax
mov edi, dword [esp + 0x24]
jmp dword [eax*4 + 0x4502b0]
mov eax, dword [esp + 0x28]
mov esi, dword [eax]
mov edi, dword [eax + 4]
push 0x400
push 0
lea eax, [esp + 0x64]
push eax
call fcn.0040c8c0
add esp, 0xc
jmp dword [0x4502a0]
mov eax, esp
lea ecx, [esp + 0x4c]
push eax
push 0
push 0x400
lea eax, [esp + 0x68]
push eax
push edi
push esi
call fcn.00442880
cmp eax, 0xc0000000
setae al
mov ecx, dword [esp]
or ecx, dword [esp + 4]
sete cl
or cl, al
movzx eax, cl
jmp dword [eax*4 + 0x4502a8]
mov eax, 1
mov edi, dword [esp + 0x24]
jmp dword [eax*4 + 0x4502b0]
mov byte [esp + 0x45b], 0
movzx eax, byte [esp + 0x5c]
xor edx, edx
test al, al
je 0x42c431
lea ecx, [esp + 0x5c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x2e
je 0x42c42f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x42c420
jmp 0x42c431
mov edx, ecx
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x4502b8]
movzx eax, byte [edx + 1]
inc edx
mov dword [esp + 0x2c], 0
test al, al
je 0x42c473
mov ecx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x2e
je 0x42c46f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x42c460
jmp 0x42c473
mov dword [esp + 0x2c], ecx
xor eax, eax
cmp dword [esp + 0x2c], 0
setne al
jmp dword [eax*4 + 0x4502c0]
xor ebx, ebx
jmp dword [0x450308]
mov byte [edi], 0
mov dword [esp + 0x5c], 0xf3fef9c9
mov dword [esp + 0x60], 0xf7e3eaf5
mov dword [esp + 0x64], 0xf0f4f2f9
mov dword [esp + 0x68], 0xfeeed237
mov dword [esp + 0x6c], 0xcb2de4f9
mov dword [esp + 0x70], 0xe1f7e2ef
mov dword [esp + 0x74], 0x9fe223e7
mov word [esp + 0x78], 0x15e0
mov dword [esp + 0x7a], 0
sub edi, dword [esp + 0x3c]
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x21
ja 0x42c516
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x5c]
push dword [esp]
push eax
call fcn.0042f910
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x5c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x22
jb 0x42c4f0
lea eax, [esp + 0x5c]
mov ecx, dword [ebp + 8]
push edi
push dword [esp + 0x40]
push eax
call fcn.0040d570
mov ebx, eax
jmp dword [0x450300]
push dword [esp + 0x3c]
call fcn.0040c700
add esp, 4
and bl, 1
jmp dword [0x450308]
mov eax, dword [esp + 0x30]
test eax, eax
je 0x42c55c
cmp eax, dword [esp + 0x34]
je 0x42c55c
push eax
call fcn.0040c700
add esp, 4
jmp dword [0x450310]
mov eax, dword [esp + 0x30]
test eax, eax
je case.0x42c2fc.4
cmp eax, dword [esp + 0x34]
je case.0x42c2fc.4
push eax
call fcn.0040c700
add esp, 4
jmp case.0x42c2fc.4
lea ecx, [esp + 0x4c]
call fcn.004420d0
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor edx, edx
test eax, eax
sete dl
xor ecx, ecx
jmp dword [edx*4 + 0x450398]
jmp dword [ecx*4 + 0x450328]
mov dword [ebx], 0x93209134
mov dword [ebx + 4], 0x9fd19dd1
mov dword [ebx + 8], 0x9b2999d1
mov dword [ebx + 0xc], 0x87348538
mov dword [ebx + 0x10], 0x83268139
mov dword [ebx + 0x14], 0x8fcf8d39
mov dword [ebx + 0x18], 0x8bc289cb
mov dword [ebx + 0x1c], 0xf740f5bd
mov dword [ebx + 0x20], 0xf356f1bd
mov dword [ebx + 0x24], 0xff49fd4f
mov dword [ebx + 0x28], 0xfb46f9b6
mov dword [ebx + 0x2c], 0xe7a7e55b
mov dword [ebx + 0x30], 0xe3afe152
mov dword [ebx + 0x34], 0xef50ed48
mov dword [ebx + 0x38], 0xeb7ee949
mov dword [ebx + 0x3c], 0xd77bd54a
mov dword [ebx + 0x40], 0xd361d174
mov dword [ebx + 0x44], 0xdf73dd40
mov dword [ebx + 0x48], 0xdb4fd979
mov dword [ebx + 0x4c], 0xc5c4
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x4f
ja 0x42c714
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [ebx + eax]
push dword [ebp - 0x10]
push eax
call fcn.00430070
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [ebx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x50
jb 0x42c6f0
push 0
push 0
push esi
mov esi, dword [ebp - 0x20]
push esi
push ebx
call fcn.00448800
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x450340]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esi]
call fcn.00448c00
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x450348]
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x2c]
jmp dword [0x450350]
mov ecx, dword [ebx]
lea eax, [ecx*2 + 2]
inc ecx
jns 0x42c775
mov eax, 0xffffffff
push eax
call fcn.0040c6f0
add esp, 4
mov esi, eax
mov dword [edi], 0x13a411c9
mov dword [edi + 4], 0xef62ed5f
mov dword [edi + 8], 0xeb5ee949
mov dword [edi + 0xc], 0xe736e550
mov dword [edi + 0x10], 0xe36ee141
mov dword [edi + 0x14], 0xfffefd44
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x17
ja 0x42c7e4
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [edi + eax]
push dword [ebp - 0x10]
push eax
call fcn.004300d0
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [edi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x18
jb 0x42c7c0
mov ebx, dword [ebp - 0x2c]
push ebx
push esi
push 0
push edi
mov eax, dword [ebp - 0x20]
push dword [eax]
call fcn.004491d0
add esp, 0x14
jmp case.0x42c729.4
mov ebx, dword [ebp - 0x2c]
push ebx
push esi
push 0
push edi
mov eax, dword [ebp - 0x20]
push dword [eax]
call fcn.004491d0
add esp, 0x14
jmp dword [0x45035c]
mov eax, dword [ebx]
mov ecx, eax
inc ecx
jns 0x42c830
mov eax, 0xffffffff
jmp 0x42c837
lea eax, [eax*2 + 2]
push eax
call fcn.0040c6f0
add esp, 4
mov esi, eax
mov dword [edi], 0x13a411c9
mov dword [edi + 4], 0xef62ed5f
mov dword [edi + 8], 0xeb5ee949
mov dword [edi + 0xc], 0xe736e550
mov dword [edi + 0x10], 0xe36ee141
mov dword [edi + 0x14], 0xfffefd44
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x17
ja 0x42c800
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [edi + eax]
push dword [ebp - 0x10]
push eax
call fcn.004300d0
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [edi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x18
jb 0x42c880
jmp 0x42c800
mov eax, 4
xor edx, edx
cmp eax, 4
setb dl
mov esi, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x450390]
shr eax, 0x1f
mov dword [ebp - 0x14], esi
mov ebx, dword [ebp - 0x3c]
jmp dword [eax*4 + 0x450360]
mov dword [ebp - 0x14], 0
jmp dword [0x450368]
push esi
call fcn.0040c700
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x24], 0x20272625
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 3
ja 0x42c946
nop
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [ebp + eax - 0x24]
push dword [ebp - 0x10]
push eax
call fcn.00430e80
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [ebp + ecx - 0x24], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 4
jb 0x42c920
mov eax, dword [0x453ba4]
test eax, eax
je 0x42c980
mov ecx, dword [ebp - 0x24]
xor edx, edx
mov esi, dword [0x453ba8]
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0x625b6034
je 0x42c970
inc edx
cmp eax, edx
jne 0x42c960
jmp 0x42c980
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
jne case.default.0x42c989
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
cmp dword [ebp - 0x14], 0
setne al
jmp dword [eax*4 + 0x450370]
mov esi, dword [ebp - 0x44]
jmp dword [0x45037c]
push dword [ebp - 0x3c]
push 1
push dword [0x453bac]
push eax
call fcn.00444990
add esp, 0x10
xor eax, eax
cmp dword [ebp - 0x14], 0
setne al
jmp dword [eax*4 + 0x450370]
mov eax, 2
xor edx, edx
cmp eax, 4
setb dl
mov esi, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x450390]
mov eax, 2
xor edx, edx
cmp eax, 4
setb dl
mov esi, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x450390]
xor ecx, ecx
xor edx, edx
cmp ecx, 4
setb dl
mov esi, 0x20119
xor eax, eax
jmp dword [edx*4 + 0x450390]
push esi
call fcn.00447ea0
add esp, 4
push esi
call fcn.00447ea0
add esp, 4
jmp dword [0x450384]
cmp dword [esi], 1
sete cl
and al, cl
movzx eax, al
jmp dword [eax*4 + 0x450388]
jmp dword [0x450338]
xor eax, eax
mov ecx, dword [ebp - 0x14]
test ecx, ecx
sete al
jmp dword [eax*4 + 0x4503a0]
mov eax, dword [ebp - 0x30]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x42ca80
cmp eax, 0xffffffd9
mov esi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x48]
jge 0x42caad
mov eax, 0xffffffff
jmp 0x42cab0
jmp dword [0x4503b4]
xor eax, eax
jmp 0x42d03b
add eax, 0x26
push eax
call fcn.0040c6f0
add esp, 4
mov edi, eax
mov edx, dword [ebp - 0x18]
mov dword [edx], 0x2381218c
mov dword [edx + 4], 0x2798259b
mov dword [edx + 8], 0x3b83399e
mov dword [edx + 0xc], 0x3f923d9b
mov dword [edx + 0x10], 0x338d3193
mov dword [edx + 0x14], 0x3790358a
mov dword [edx + 0x18], 0xbad09b1
mov dword [edx + 0x1c], 0xfb80df2
mov dword [edx + 0x20], 0x3a401a4
mov word [edx + 0x24], 0x504
mov dword [edx + 0x26], 0
mov byte [edx + 0x2a], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x2a
ja 0x42cb47
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [edx + eax]
push dword [ebp - 0x10]
push eax
call fcn.00430150
mov edx, dword [ebp - 0x18]
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [edx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x2b
jb 0x42cb20
mov eax, dword [ebp - 0x14]
movzx ecx, word [eax]
mov eax, edi
test cx, cx
je 0x42cb71
mov eax, dword [ebp - 0x14]
lea edx, [eax + 2]
mov eax, edi
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42cb60
mov word [eax], 0
mov edx, dword [ebp - 0x18]
movzx ecx, word [edx]
test cx, cx
je 0x42cba1
add edx, 2
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 0x42cb90
mov word [eax], 0
jmp dword [0x4503b8]
push dword [ebp - 0x14]
call fcn.0040c700
add esp, 4
xor eax, eax
cmp word [edi], 0x5b
sete al
jmp dword [eax*4 + 0x4503c0]
xor eax, eax
cmp word [edi], 0x5b
sete al
jmp dword [eax*4 + 0x4503c0]
mov dword [ebx], 0xf1b4ffb9
mov dword [ebx + 4], 0xf557f35c
mov dword [ebx + 8], 0xc948f745
mov dword [ebx + 0xc], 0xcd71cb6e
mov dword [ebx + 0x10], 0xc162cf75
mov dword [ebx + 0x14], 0xc573c365
mov dword [ebx + 0x18], 0xd960c77a
mov dword [ebx + 0x1c], 0xdd63db63
mov dword [ebx + 0x20], 0xd168dfa2
mov dword [ebx + 0x24], 0xd574d374
mov word [ebx + 0x28], 0xd7d4
mov dword [ebx + 0x2a], 0
mov byte [ebx + 0x2e], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x2e
ja 0x42cc64
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [ebx + eax]
push dword [ebp - 0x10]
push eax
call fcn.004301d0
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [ebx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x2f
jb 0x42cc40
push 0
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
push 0x60
push 3
push 0x120089
push esi
mov dword [ebp - 0x48], edi
push edi
call fcn.004480b0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4503c8]
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x38]
jmp dword [0x4503d4]
jmp dword [0x450438]
push dword [ebp - 0x48]
call fcn.0040c700
add esp, 4
mov eax, dword [ebp - 0x30]
mov esi, dword [eax]
mov edi, dword [eax + 4]
xor eax, eax
cmp esi, edi
sete al
jmp dword [eax*4 + 0x450440]
xor eax, eax
test esi, esi
jne 0x42cff4
jmp 0x42d03b
mov eax, dword [ebp - 0x30]
mov esi, dword [eax]
mov edi, dword [eax + 4]
xor eax, eax
cmp esi, edi
sete al
jmp dword [eax*4 + 0x450440]
mov eax, esi
not eax
and eax, edi
add eax, eax
xor edi, esi
sub eax, edi
sar eax, 3
mov ecx, eax
and ecx, 0xfffffbde
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.0040c6f0
add esp, 4
mov dword [ebp - 0x28], eax
mov esi, dword [0x453ba0]
mov edi, dword [ebp - 0x50]
mov dword [edi], 0x1d2072b
mov dword [edi + 4], 0xdef03f1
mov dword [edi + 8], 0x9fa0fef
mov dword [edi + 0xc], 0x15fa0bcb
mov dword [edi + 0x10], 0x11da17e4
mov dword [edi + 0x14], 0x1dee13f3
mov dword [edi + 0x18], 0x19311fff
mov dword [edi + 0x1c], 0x25c71bfc
mov dword [edi + 0x20], 0x21c927d8
mov dword [edi + 0x24], 0x2dd523c3
mov dword [edi + 0x28], 0x29da2fc8
mov dword [edi + 0x2c], 0x35c72bd9
mov dword [edi + 0x30], 0x31c237d7
mov dword [edi + 0x34], 0x3dcc3306
mov dword [edi + 0x38], 0x39d03fd0
mov word [edi + 0x3c], 0x3b38
mov dword [edi + 0x3e], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x41
ja 0x42cde4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [edi + eax]
push dword [ebp - 0x10]
push eax
call fcn.00430c60
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [edi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x42
jb 0x42cdc0
mov eax, edi
mov edi, dword [ebp - 0x40]
push edi
push 0
push 0
push 0x1e
push eax
push 0
call esi
mov esi, dword [edi]
test esi, esi
jns 0x42ce02
mov eax, 0xffffffff
jmp 0x42ce05
lea eax, [esi + esi]
push eax
call fcn.0040c6f0
add esp, 4
mov dword [ebp - 0x44], eax
mov edi, dword [0x453ba0]
mov ecx, dword [ebp - 0x34]
mov dword [ecx], 0x69a66b8f
mov dword [ecx + 4], 0x6dcb6ff9
mov dword [ecx + 8], 0x51fe53cb
mov dword [ecx + 0xc], 0x55c65797
mov dword [ecx + 0x10], 0x599e5bc4
mov dword [ecx + 0x14], 0x5dca5fff
mov dword [ecx + 0x18], 0x41a943fb
mov dword [ecx + 0x1c], 0x45f347fc
mov dword [ecx + 0x20], 0x49e14bd0
mov dword [ecx + 0x24], 0x4ddd4fef
mov dword [ecx + 0x28], 0x319e33f0
mov dword [ecx + 0x2c], 0x359337a1
mov dword [ecx + 0x30], 0x39963b93
mov dword [ecx + 0x34], 0x3da43fea
mov dword [ecx + 0x38], 0x21882398
mov word [ecx + 0x3c], 0x2720
mov word [ecx + 0x42], 0
mov dword [ecx + 0x3e], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x43
ja 0x42ceda
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [ecx + eax]
push dword [ebp - 0x10]
push eax
call fcn.00430cf0
add esp, 8
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x34]
mov byte [edx + ecx], al
mov ecx, dword [ebp - 0x34]
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x44
jb 0x42ceb0
push dword [ebp - 0x40]
push esi
mov ebx, dword [ebp - 0x44]
push ebx
push 0x1e
push ecx
push 0
call edi
push 0x60
push 3
push 0x120089
mov esi, dword [ebp - 0x58]
push esi
push ebx
call fcn.004480b0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x450448]
xor ebx, ebx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
mov edi, dword [ebp - 0x54]
jmp dword [0x450510]
push dword [ebp - 0x44]
call fcn.0040c700
add esp, 4
mov eax, ebx
and al, 1
movzx ecx, al
mov eax, ebx
jmp dword [ecx*4 + 0x450518]
mov ecx, dword [ebp - 0x18]
mov byte [ecx], 0
mov eax, ecx
not eax
mov esi, dword [ebp - 0x28]
and eax, esi
not esi
and esi, ecx
mov dword [edi], 0x95969767
mov dword [edi + 4], 0xb1819e9b
mov dword [edi + 8], 0xb4888e87
mov dword [edi + 0xc], 0x8ab69649
mov dword [edi + 0x10], 0x9d478097
mov dword [edi + 0x14], 0xbb8d8681
mov dword [edi + 0x18], 0x81827981
mov dword [edi + 0x1c], 0xb84
sub esi, eax
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x1f
ja 0x42cfc4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [edi + eax]
push dword [ebp - 0x10]
push eax
call fcn.00430e00
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [edi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x20
jb 0x42cfa0
mov ecx, dword [ebp + 8]
push esi
push dword [ebp - 0x28]
push edi
call fcn.0040d570
jmp dword [0x450520]
push dword [ebp - 0x28]
mov esi, eax
call fcn.0040c700
mov eax, esi
add esp, 4
and al, 1
mov ecx, dword [ebp - 0x30]
mov esi, dword [ecx]
mov edi, dword [ecx + 4]
test esi, esi
je 0x42d03b
cmp esi, edi
je 0x42d03b
mov dword [ebp - 0x1c], eax
mov ebx, esi
jmp 0x42d007
add ebx, 8
cmp ebx, edi
je 0x42d018
mov eax, dword [ebx]
test eax, eax
je 0x42d000
push eax
call fcn.0040c700
add esp, 4
jmp 0x42d000
push esi
call fcn.0040c700
add esp, 4
mov eax, dword [ebp - 0x30]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [ebp - 0x1c]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 0
mov edi, dword [ebp - 0x6c]
push edi
push dword [esi]
call fcn.00448410
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [ebp - 0x1c], 0
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x18], ecx
jmp dword [eax*4 + 0x450450]
mov esi, dword [edi]
lea eax, [esi + 1]
push eax
call fcn.0040c6f0
add esp, 4
push 0
push esi
mov esi, dword [ebp - 0x58]
mov dword [ebp - 0x50], eax
push eax
push dword [esi]
call fcn.004484f0
add esp, 0x10
not eax
shr eax, 0x1f
xor ecx, ecx
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x18], edx
jmp dword [eax*4 + 0x450458]
mov esi, dword [edi]
mov edi, dword [ebp - 0x50]
mov byte [edi + esi], 0
push 0x20
call fcn.0040c6f0
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 [ebp - 0x38], eax
mov ecx, eax
push esi
push edi
call fcn.0042f990
movzx eax, al
mov dword [ebp - 0x1c], 0
mov edi, dword [ebp - 0x28]
jmp dword [eax*4 + 0x450460]
mov esi, dword [ebp - 0x60]
mov dword [esi], 0xa5a8be99
mov dword [esi + 4], 0xb2a0b0a9
mov dword [esi + 8], 0xb5b58165
mov dword [esi + 0xc], 0x886bbcae
mov dword [esi + 0x10], 0x8ebdb8a8
mov dword [esi + 0x14], 0x8b93a651
mov dword [esi + 0x18], 0x9d83808a
mov dword [esi + 0x1c], 0x858f88ad
mov word [esi + 0x20], 0x6f8b
mov dword [esi + 0x22], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x25
ja 0x42d184
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [esi + eax]
push dword [ebp - 0x10]
push eax
call fcn.00430d90
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [esi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x26
jb 0x42d160
mov ecx, dword [ebp - 0x38]
push esi
call fcn.0042fbd0
xor ecx, ecx
test eax, eax
setne cl
mov dword [ebp - 0x1c], 0
mov edi, dword [ebp - 0x28]
jmp dword [ecx*4 + 0x450468]
mov dword [ebp - 0x18], edi
mov esi, dword [ebp - 0x58]
jmp dword [0x4504f0]
mov edi, dword [ebp - 0x38]
mov ecx, edi
call fcn.0042fd40
push edi
call fcn.0040c700
add esp, 4
mov eax, dword [case.0x42cf04.4]
mov ecx, dword [ebp - 0x1c]
nop
nop
nop
nop
jmp eax
mov dword [ebp - 0x1c], ecx
jmp dword [0x450508]
push dword [ebp - 0x50]
call fcn.0040c700
add esp, 4
mov esi, dword [esi]
mov dword [ebp - 0x24], 0x20272625
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 3
ja 0x42d226
nop
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [ebp + eax - 0x24]
push dword [ebp - 0x10]
push eax
call fcn.00430e80
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [ebp + ecx - 0x24], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 4
jb 0x42d200
mov eax, dword [0x453ba4]
test eax, eax
je 0x42d262
mov ecx, dword [ebp - 0x24]
xor edx, edx
mov edi, dword [0x453ba8]
nop
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0x625b6034
je 0x42d25a
mov ebx, edx
xor ebx, 1
and edx, 1
lea edx, [ebx + edx*2]
cmp edx, eax
jb 0x42d240
jmp 0x42d262
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne 0x42d284
mov edi, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x1c]
jmp dword [0x450510]
mov eax, ebx
and al, 1
movzx ecx, al
mov eax, ebx
jmp dword [ecx*4 + 0x450518]
jmp dword [0x450520]
push esi
push 1
push dword [0x453bac]
push eax
call fcn.00444990
add esp, 0x10
mov edi, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x1c]
jmp dword [0x450510]
add eax, 8
mov dword [ebp - 0x1c], 0
mov ebx, dword [eax]
xor eax, eax
test ebx, ebx
setne al
mov edi, dword [ebp - 0x28]
jmp dword [eax*4 + 0x450470]
add ebx, 4
mov ebx, dword [ebx]
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x450470]
mov edx, dword [ebx]
cmp dword [ebx + 0x18], 3
mov esi, 0
jne case.default.0x42d2f2
mov esi, dword [ebx + 0x10]
test edx, edx
setne al
test esi, esi
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x450478]
mov ecx, esi
nop
nop
nop
nop
nop
mov eax, ecx
inc ecx
cmp byte [eax], 0
jne case.default.0x42d33c
mov dword [ebp - 0x20], edx
mov ecx, esi
not ecx
and ecx, eax
add ecx, ecx
xor eax, esi
sub ecx, eax
inc ecx
shr ecx, 1
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x48], ecx
lea eax, [ecx + 1]
push eax
call fcn.0040c6f0
add esp, 4
movsx ecx, byte [esi]
xor edx, edx
test ecx, ecx
setne dl
mov dword [ebp - 0x34], eax
jmp dword [edx*4 + 0x450480]
mov byte [eax], 0
push 0
push 0x10
push 0
push dword [ebp - 0x20]
call fcn.0042fde0
add esp, 0x10
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
xor esi, esi
xor ebx, ebx
mov dword [ebp - 0x14], eax
cmp ecx, eax
setne bl
mov edi, dword [case.0x42d19e.17]
jmp dword [ebx*4 + 0x450490]
mov ebx, dword [ecx + 4]
mov eax, ebx
shr eax, 0x1c
shl ebx, 4
or ebx, 1
xor eax, dword [ebp - 0x2c]
xor ebx, dword [ebp - 0x20]
xor edx, edx
or ebx, eax
sete dl
jmp dword [edx*4 + 0x450498]
mov ebx, 1
jmp case.0x42d443.6
mov esi, dword [ecx]
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp edi
jmp dword [ebx*4 + 0x4504b0]
add ecx, 8
xor ebx, ebx
cmp ecx, dword [ebp - 0x14]
setne bl
jmp dword [ebx*4 + 0x450490]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x4504c8]
mov edi, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x34]
jmp dword [0x4504d8]
or ebx, edx
mov byte [eax], bl
inc eax
movsx ecx, byte [esi]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x450480]
mov edx, ecx
or edx, 0x20
lea edi, [edx - 0x61]
add edx, 0xffffffa9
add ecx, 0xffffffd0
cmp ecx, 0xa
jb 0x42d42e
mov ecx, 0xffffffff
cmp edi, 6
jb case.default.0x42d443
mov edx, ecx
lea edi, [esi + 1]
movsx ecx, byte [esi + 1]
xor ebx, ebx
test ecx, ecx
setne bl
jmp dword [ebx*4 + 0x450488]
mov byte [eax], dl
inc eax
movsx ecx, byte [edi]
xor edx, edx
test ecx, ecx
setne dl
mov esi, edi
jmp dword [edx*4 + 0x450480]
shl edx, 4
add esi, 2
mov ebx, ecx
or ebx, 0x20
lea edi, [ebx - 0x61]
add ebx, 0xffffffa9
add ecx, 0xffffffd0
cmp ecx, 0xa
jb 0x42d47e
mov ecx, 0xffffffff
cmp edi, 6
jb 0x42d400
mov ebx, ecx
jmp 0x42d400
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x48]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x34]
mov dword [eax + 4], ecx
xor eax, eax
mov edx, dword [ebp - 0x68]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi + eax], 0
lea eax, [eax + 1]
jne case.default.0x42d508
add eax, esi
dec eax
mov ecx, esi
not ecx
and ecx, eax
add ecx, ecx
xor eax, esi
sub ecx, eax
mov dword [edx], ecx
mov dword [edx + 4], esi
mov edi, edx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
mov dword [ebx + 4], 0
push 0x6c625980
push dword [0x453bb0]
call fcn.00447710
add esp, 8
push ebx
push 1
push 0
push 0
push edi
push 0
push dword [ebp - 0x5c]
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4504d0]
mov edi, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x34]
jmp dword [0x4504d8]
movzx eax, byte [esi]
test al, al
mov edx, dword [ebp - 0x18]
je 0x42d53d
inc esi
mov ecx, dword [ebp - 0x4c]
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x42d530
jmp 0x42d540
mov ecx, dword [ebp - 0x4c]
mov word [edx], 0x203a
mov eax, edx
add eax, 2
mov esi, dword [ecx]
test esi, esi
je 0x42d57b
mov ecx, dword [ecx + 4]
mov edx, esi
and edx, 3
je 0x42d57f
xor edi, edi
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 0x42d560
add eax, edi
mov edx, esi
sub edx, edi
mov edi, eax
jmp 0x42d581
mov edi, eax
jmp 0x42d5c9
mov edx, esi
cmp esi, 4
jb 0x42d5c9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
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 edi, [eax + 4]
mov byte [eax + 3], bl
mov eax, edi
add edx, 0xfffffffc
jne 0x42d590
mov byte [edi], 0xa
inc edi
push 0xe050b307
push dword [0x453b98]
call fcn.00447710
add esp, 8
mov ecx, dword [ebp - 0x4c]
push dword [ecx + 4]
call eax
mov al, 1
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x34]
jmp dword [0x4504d8]
jmp dword [0x4504e0]
push esi
call fcn.0040c700
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.0040c700
add esp, 4
jmp dword [0x4504e8]
jmp dword [0x450408]
mov esi, dword [ebp - 0x38]
jmp dword [0x450410]
mov ecx, esi
call fcn.0042fd40
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, esi
call fcn.0042fd40
jmp dword [0x450418]
push esi
call fcn.0040c700
add esp, 4
jmp dword [0x450420]
mov ebx, esi
mov esi, dword [esi]
lea eax, [esi + 1]
push eax
call fcn.0040c6f0
add esp, 4
push 0
push esi
mov dword [ebp - 0x3c], eax
push eax
push dword [edi]
call fcn.004484f0
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4503e8]
jmp dword [0x450420]
push dword [ebp - 0x3c]
call fcn.0040c700
add esp, 4
jmp dword [0x450428]
mov esi, dword [ebx]
mov edi, dword [ebp - 0x3c]
mov byte [edi + esi], 0
push 0x20
call fcn.0040c6f0
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 [ebp - 0x38], eax
mov ecx, eax
push esi
push edi
call fcn.0042f990
movzx eax, al
jmp dword [eax*4 + 0x4503f0]
mov esi, dword [ebp - 0x64]
mov dword [esi], 0x5380e29
mov dword [esi + 4], 0x32003019
mov dword [esi + 8], 0x153521c5
mov dword [esi + 0xc], 0x38db2c1e
mov dword [esi + 0x10], 0x1e2d2818
mov dword [esi + 0x14], 0x2027c0d1
mov dword [esi + 0x18], 0x6d181015
mov dword [esi + 0x1c], 0xfb6d
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x1f
ja 0x42d764
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [esi + eax]
push dword [ebp - 0x10]
push eax
call fcn.00430bd0
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [esi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x20
jb 0x42d740
mov ecx, dword [ebp - 0x38]
push esi
call fcn.0042fbd0
xor ecx, ecx
test eax, eax
setne cl
mov edx, dword [ebp - 0x30]
jmp dword [ecx*4 + 0x4503f8]
add eax, 8
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
jmp dword [eax*4 + 0x450400]
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov dword [edx + eax + 4], ecx
mov edx, dword [ebp - 0x30]
add dword [edx + 4], 8
mov ecx, dword [ebp - 0x44]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
jmp dword [eax*4 + 0x450400]
mov ebx, dword [edx]
mov esi, dword [edx + 4]
mov edi, ebx
not edi
and edi, esi
add edi, edi
mov eax, ebx
xor eax, esi
sub edi, eax
mov eax, esi
mov esi, dword [ecx]
cmp eax, dword [edx + 8]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x20], ebx
je 0x42d7f2
mov ecx, eax
sub ecx, ebx
jmp 0x42d898
mov dword [ebp - 0x2c], eax
sub eax, ebx
mov dword [ebp - 0x14], eax
sar eax, 3
mov edx, eax
shr edx, 1
add edx, eax
mov eax, edi
sar eax, 3
inc eax
cmp edx, eax
ja 0x42d80f
mov edx, eax
mov eax, edx
and eax, 8
mov ecx, edx
or ecx, 8
imul ecx, eax
xor eax, 8
mov ebx, edx
mov dword [ebp - 0x1c], edx
and edx, 0xfffffff7
imul edx, eax
add ecx, edx
push ecx
call fcn.0040c6f0
add esp, 4
mov ebx, eax
mov edx, dword [ebp - 0x20]
test edx, edx
je 0x42d87e
mov dword [ebp - 0x18], edi
mov edi, dword [ebp - 0x2c]
cmp edx, edi
je 0x42d872
xor eax, eax
nop
nop
nop
nop
nop
nop
mov ecx, dword [edx + eax]
mov dword [ebx + eax], ecx
mov ecx, dword [edx + eax + 4]
mov dword [ebx + eax + 4], ecx
mov dword [edx + eax], 0
lea ecx, [edx + eax]
add ecx, 8
add eax, 8
cmp ecx, edi
jne 0x42d850
push edx
call fcn.0040c700
add esp, 4
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x30]
mov dword [ecx], ebx
lea eax, [ebx + edi]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
lea eax, [ebx + eax*8]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
cmp ecx, edi
mov dword [ebp - 0x14], ecx
jae 0x42d90c
mov edx, dword [ebp - 0x20]
add edx, edi
sub edx, eax
lea eax, [ebx + ecx]
add eax, 8
add ebx, ecx
cmp edx, 8
jle 0x42d8c0
push edx
push ebx
push eax
call fcn.0040c7a0
add esp, 0xc
jmp 0x42d909
mov ecx, edx
shr ecx, 2
mov dword [ebp - 0x20], edx
mov edx, ebx
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, dword [ebp - 0x20]
mov edx, ecx
and edx, 0xfffffffc
add eax, edx
add edx, ebx
shr ecx, 1
and ecx, 1
mov ebx, esi
mov esi, edx
mov edi, eax
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov esi, ebx
mov ecx, dword [ebp - 0x20]
mov edi, ecx
test cl, 1
mov ecx, dword [ebp - 0x14]
je 0x42d90c
and edi, 2
movzx ecx, byte [edx + edi]
mov byte [eax + edi], cl
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
mov dword [eax + ecx], 0
mov dword [ebp - 0x1c], eax
mov dword [eax + ecx + 4], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi + eax], 0
lea eax, [eax + 1]
jne 0x42d930
add eax, esi
dec eax
mov ebx, esi
not ebx
and ebx, eax
add ebx, ebx
xor eax, esi
sub ebx, eax
lea edi, [ebx + 1]
push edi
mov dword [ebp - 0x18], edi
call fcn.0040c6f0
add esp, 4
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov dword [edx + ecx], eax
mov ecx, edi
shr ecx, 2
mov edx, esi
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, dword [ebp - 0x18]
mov edx, ecx
and edx, 0xfffffffc
add eax, edx
mov dword [ebp - 0x20], esi
add edx, esi
shr ecx, 1
and ecx, 1
mov esi, edx
mov edi, eax
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
test bl, 1
jne 0x42d9a8
mov esi, dword [ebp - 0x18]
and esi, 2
movzx ecx, byte [edx + esi]
mov byte [eax + esi], cl
test ebx, ebx
je 0x42d791
mov dword [ebp - 0x2c], ebx
mov ecx, 0xffffffff
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x20]
movzx edi, byte [edx + eax]
xor edi, ecx
mov ecx, edi
shr ecx, 1
mov edx, edi
and edx, 1
neg edx
and edx, 0xedb88320
xor edx, ecx
mov esi, edx
shr esi, 1
mov ecx, edi
shl ecx, 0x1e
sar ecx, 0x1f
and ecx, 0xedb88320
xor ecx, esi
mov ebx, edi
shl ebx, 0x1d
sar ebx, 0x1f
and ebx, 0x76dc419
mov esi, edi
shl esi, 0x1c
sar esi, 0x1f
and esi, 0xedb8832
xor esi, ebx
mov ebx, edi
shl ebx, 0x1b
sar ebx, 0x1f
and ebx, 0x1db71064
shl edi, 0x1a
sar edi, 0x1f
and edi, 0x3b6e20c8
xor edi, ebx
xor edi, esi
mov esi, ecx
shr esi, 6
xor edi, esi
shl edx, 0x1a
sar edx, 0x1f
and edx, 0x76dc4190
xor edx, edi
shl ecx, 0x1a
sar ecx, 0x1f
and ecx, 0xedb88320
xor ecx, edx
inc eax
cmp dword [ebp - 0x2c], eax
jne 0x42d9c0
not ecx
jmp 0x42d7a0
mov eax, dword [ebp - 0x28]
mov esi, dword [eax]
mov dword [ebp - 0x24], 0x20272625
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 3
ja 0x42daa6
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [ebp + eax - 0x24]
push dword [ebp - 0x10]
push eax
call fcn.00430e80
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [ebp + ecx - 0x24], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 4
jb 0x42da80
mov eax, dword [0x453ba4]
test eax, eax
je case.0x42d777.12
mov ecx, dword [ebp - 0x24]
xor edx, edx
mov edi, dword [0x453ba8]
nop
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0x625b6034
je 0x42dada
mov ebx, edx
xor ebx, 1
and edx, 1
lea edx, [ebx + edx*2]
cmp edx, eax
jb 0x42dac0
jmp case.0x42d777.12
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
je case.0x42d777.12
push esi
push 1
push dword [0x453bac]
push eax
call fcn.00444990
add esp, 0x10
mov eax, dword [ebp - 0x28]
mov esi, dword [eax]
mov dword [ebp - 0x24], 0x20272625
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 3
ja 0x42db36
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [ebp + eax - 0x24]
push dword [ebp - 0x10]
push eax
call fcn.00430e80
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [ebp + ecx - 0x24], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 4
jb 0x42db10
mov eax, dword [0x453ba4]
test eax, eax
je 0x42db72
mov ecx, dword [ebp - 0x24]
xor edx, edx
mov edi, dword [0x453ba8]
nop
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0x625b6034
je 0x42db6a
mov ebx, edx
xor ebx, 1
and edx, 1
lea edx, [ebx + edx*2]
cmp edx, eax
jb 0x42db50
jmp 0x42db72
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne 0x42db78
jmp dword [0x450430]
push esi
push 1
push dword [0x453bac]
push eax
call fcn.00444990
add esp, 0x10
jmp dword [0x450430]
jmp dword [0x450428]
push 0
push esi
push dword [edi]
call fcn.00448410
add esp, 0xc
push 0
push esi
push dword [edi]
call fcn.00448410
add esp, 0xc
jmp dword [0x4503d8]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4503e0]
jmp dword [0x450530]
push esi
call fcn.0040c700
add esp, 4
mov eax, dword [esp + 0x84]
and al, 1
add esp, 0xe8
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 0xb0]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x450528]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + ecx + 0xcc]
mov eax, 0xfffffffe
nop
nop
nop
nop
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x42dfb0
mov dword [esp + 0x4c], ecx
mov dword [esp + 0xa8], eax
mov edx, eax
sar edx, 1
mov eax, dword [esp + 0x94]
lea ecx, [edx + eax]
mov dword [esp + 0x88], edx
add edx, eax
add edx, 0xd
lea eax, [ecx*2 + 0x1a]
test edx, edx
jns 0x42dff0
mov eax, 0xffffffff
push eax
call fcn.0040c6f0
add esp, 4
mov ebx, eax
movzx eax, word [esi]
mov edi, ebx
test ax, ax
je 0x42e021
mov ecx, dword [esp + 0xa4]
mov edi, ebx
nop
nop
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42e010
mov word [edi], 0x5c
mov dword [esp + 8], 0xcfb2c9a4
mov dword [esp + 0xc], 0xc3a5cd5f
mov dword [esp + 0x10], 0xc75ac1a1
mov dword [esp + 0x14], 0xfb8dc5e4
mov dword [esp + 0x18], 0xff9ff96c
mov dword [esp + 0x1c], 0xf397fd68
mov word [esp + 0x20], 0xf1f0
lea eax, [esp + 8]
mov byte [eax + 0x1e], 0
mov dword [eax + 0x1a], 0
add edi, 2
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1e
ja 0x42e0a6
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 8]
push dword [esp]
push eax
call fcn.00431390
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1f
jb 0x42e080
mov ecx, dword [esp + 0x4c]
movzx eax, word [ecx]
test ax, ax
je 0x42e0d1
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42e0c0
mov word [edi], 0
movzx eax, word [esp + 8]
test ax, ax
je 0x42e101
lea ecx, [esp + 0xa]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42e0f0
mov word [edi], 0
lea eax, [esp + 0x90]
push 0x60
push 3
push 0x120089
push eax
push ebx
call fcn.004480b0
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [esp + 0xac], ebx
jmp dword [eax*4 + 0x450538]
xor ebx, ebx
jmp dword [0x4505c8]
push dword [esp + 0xac]
call fcn.0040c700
add esp, 4
movzx eax, bl
jmp dword [eax*4 + 0x4505d0]
lea eax, [esp + 0x8c]
push 0
push eax
push dword [esp + 0x98]
call fcn.00448410
add esp, 0xc
mov ecx, dword [case.0x42cf04.64]
nop
jmp ecx
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x450550]
mov esi, dword [esp + 0x8c]
lea eax, [esi + 1]
push eax
call fcn.0040c6f0
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0x9c]
call fcn.004484f0
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x450558]
jmp dword [0x450560]
mov eax, dword [esp + 0x8c]
mov byte [edi + eax], 0
push edi
call fcn.00403b00
add esp, 4
mov eax, dword [esp + 0x8c]
mov byte [edi + eax], 0
push edi
call fcn.00403b00
add esp, 4
jmp dword [0x45056c]
mov ecx, eax
xor eax, eax
test ecx, ecx
setne al
xor ebx, ebx
jmp dword [eax*4 + 0x450570]
mov esi, ecx
mov dword [esp + 0x9c], edi
push ecx
call fcn.00404470
add esp, 4
mov dword [esp + 8], 0x5c5b2e15
mov dword [esp + 0xc], 0x292e302e
mov dword [esp + 0x10], 0x5420286e
mov dword [esp + 0x14], 0x21263826
mov dword [esp + 0x18], 0x344b4f2f
mov word [esp + 0x1c], 0x2033
mov byte [esp + 0x1e], 0xae
mov word [esp + 0x1f], 0
mov edi, eax
mov dword [esp + 0x98], esi
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x18
ja 0x42e2a6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 8]
push dword [esp]
push eax
call fcn.00431410
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x19
jb 0x42e280
lea eax, [esp + 8]
push eax
push edi
call fcn.004045b0
add esp, 8
mov ebx, eax
not eax
mov dword [esp + 0xa0], eax
mov ecx, ebx
mov dword [esp + 0x54], ebx
jmp dword [0x45057c]
mov esi, ebx
jmp 0x42e962
jmp dword [0x4505f8]
mov eax, dword [esp + 0xa8]
and eax, 0x10
mov ecx, dword [esp + 0x88]
xor ecx, 8
add ecx, eax
lea eax, [ecx + ecx]
test ecx, ecx
mov edi, dword [esp + 0x9c]
mov esi, dword [esp + 0x98]
jns 0x42e316
mov eax, 0xffffffff
push eax
call fcn.0040c6f0
add esp, 4
mov dword [esp + 8], 0xf15aff8d
mov dword [esp + 0xc], 0xf58cf340
mov dword [esp + 0x10], 0xc97ef740
mov dword [esp + 0x14], 0xcdcacb7c
mov byte [esp + 0x18], 0
mov ebp, eax
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x48]
cmp eax, 0x10
ja 0x42e38b
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x48]
movzx eax, byte [esp + eax + 8]
push dword [esp + 0x48]
push eax
call fcn.00431480
add esp, 8
mov ecx, dword [esp + 0x48]
mov byte [esp + ecx + 8], al
inc dword [esp + 0x48]
mov eax, dword [esp + 0x48]
cmp eax, 0x11
jb 0x42e360
mov eax, dword [esp + 0x4c]
movzx ecx, word [eax]
mov eax, ebp
test cx, cx
je 0x42e3c1
mov eax, dword [esp + 0x4c]
lea edx, [eax + 2]
mov eax, ebp
nop
nop
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 0x42e3b0
mov word [eax], 0
movzx ecx, word [esp + 8]
test cx, cx
je 0x42e3f1
lea edx, [esp + 0xa]
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 0x42e3e0
mov word [eax], 0
mov ecx, dword [esp + 0xfc]
push dword [esp + 0x5c]
push dword [esp + 0x64]
push ebp
call fcn.0040d3b0
mov ebx, eax
jmp dword [0x450590]
push ebp
call fcn.0040c700
add esp, 4
mov eax, dword [case.0x42c9b6.137]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
push 0xe050b307
push dword [0x453b98]
call fcn.00447710
add esp, 8
push dword [esp + 0x60]
call eax
jmp dword [0x4505a8]
push dword [esp + 0x40]
call fcn.0040c700
add esp, 4
jmp dword [0x4505b0]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x450588]
xor ebx, ebx
mov edi, dword [esp + 0x9c]
mov esi, dword [esp + 0x98]
jmp dword [0x4505a8]
jmp dword [0x4505b0]
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x88]
lea ecx, [edx + eax]
add edx, eax
add edx, 0x17
lea eax, [ecx*2 + 0x2e]
test edx, edx
jns 0x42e4b6
mov eax, 0xffffffff
push eax
call fcn.0040c6f0
add esp, 4
mov ebx, eax
movzx eax, word [esi]
mov edi, ebx
test ax, ax
je 0x42e4f1
mov ecx, dword [esp + 0xa4]
mov edi, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42e4e0
mov word [edi], 0x5c
mov dword [esp + 8], 0xd182cf90
mov dword [esp + 0xc], 0xd5b7d3a1
mov dword [esp + 0x10], 0xd9bad7b7
mov dword [esp + 0x14], 0xdd8fdbf8
mov dword [esp + 0x18], 0xe1afdfa8
mov dword [esp + 0x1c], 0xe581e392
mov dword [esp + 0x20], 0xe981e78d
mov dword [esp + 0x24], 0xed86ebb4
mov dword [esp + 0x28], 0xf198ef8b
mov dword [esp + 0x2c], 0xf59ef397
mov dword [esp + 0x30], 0xf994f790
mov word [esp + 0x34], 0xfbf8
lea eax, [esp + 8]
mov byte [eax + 0x32], 0
mov dword [eax + 0x2e], 0
add edi, 2
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x32
ja 0x42e5a6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 8]
push dword [esp]
push eax
call fcn.00431500
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x33
jb 0x42e580
mov ecx, dword [esp + 0x4c]
movzx eax, word [ecx]
test ax, ax
je 0x42e5d1
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42e5c0
mov word [edi], 0
movzx eax, word [esp + 8]
test ax, ax
je 0x42e601
lea ecx, [esp + 0xa]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42e5f0
mov word [edi], 0
mov eax, dword [esp + 0xa8]
add eax, 0x12
cmp dword [esp + 0x88], 0xfffffff7
jge 0x42e61f
mov eax, 0xffffffff
push eax
call fcn.0040c6f0
add esp, 4
mov edi, eax
mov dword [esp + 8], 0x1fb219eb
mov dword [esp + 0xc], 0xe3581db9
mov dword [esp + 0x10], 0xe74ae145
mov dword [esp + 0x14], 0xeb4ce540
mov word [esp + 0x18], 0xe9e8
lea eax, [esp + 8]
mov byte [eax + 0x16], 0
mov dword [eax + 0x12], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x16
ja 0x42e696
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 8]
push dword [esp]
push eax
call fcn.00431570
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x17
jb 0x42e670
mov edx, dword [esp + 0x4c]
movzx ecx, word [edx]
mov eax, edi
test cx, cx
je 0x42e6c1
add edx, 2
mov eax, edi
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 0x42e6b0
mov word [eax], 0
movzx ecx, word [esp + 8]
test cx, cx
je 0x42e6f1
lea edx, [esp + 0xa]
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 0x42e6e0
mov word [eax], 0
mov dword [esp + 8], 0xf9fafbda
mov dword [esp + 0xc], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x42e746
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 8]
push dword [esp]
push eax
call fcn.004315f0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x42e720
push 0
push 0
push 0
push 0xc00000
lea eax, [esp + 0x18]
push eax
push ebx
push edi
push dword [esp + 0x118]
call fcn.004253f0
add esp, 0x20
mov ecx, dword [esp + 0x84]
and cl, 1
or cl, al
mov dword [esp + 0x84], ecx
jmp dword [0x4505e8]
push edi
call fcn.0040c700
add esp, 4
jmp dword [0x4505f0]
jmp dword [0x4505f0]
movzx eax, bl
jmp dword [eax*4 + 0x4505d0]
mov esi, ecx
inc ecx
cmp byte [esi], 0
jne case.0x42c9b6.130
mov edi, esi
and edi, dword [esp + 0xa0]
add edi, edi
xor esi, ebx
mov edx, edi
sub edx, esi
lea ecx, [edx + edx*2]
shr ecx, 2
movzx eax, byte [ebx + edx - 1]
cmp eax, 0x3d
je 0x42e7de
cmp eax, 0x2e
jne 0x42e7df
dec ecx
movzx eax, byte [ebx + edx - 2]
cmp eax, 0x3d
mov dword [esp + 0x50], edx
je 0x42e7f2
cmp eax, 0x2e
jne 0x42e7f3
dec ecx
mov dword [esp + 0x80], ecx
lea eax, [ecx + 1]
push eax
call fcn.0040c6f0
add esp, 4
mov dword [esp + 0x3c], eax
cmp edi, esi
mov ebp, dword [esp + 0x50]
jne 0x42e868
mov eax, dword [esp + 0x80]
add eax, 0xfffffffb
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
add eax, 5
mov dword [esp + 4], eax
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
push 0x6c625980
push dword [0x453bb0]
call fcn.00447710
add esp, 8
lea ecx, [esp + 0x5c]
mov edx, esp
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
mov eax, ebx
jmp 0x42e960
xor ecx, ecx
mov esi, 2
jmp 0x42e89c
mov edx, ebp
mov ebp, ebx
lea eax, [esi + 4]
add esi, 2
mov ecx, ebp
cmp esi, edx
mov esi, eax
mov ebx, dword [esp + 0x54]
mov ebp, edx
jae 0x42e812
mov dword [esp + 0x40], ecx
movzx eax, byte [ebx + esi - 2]
push eax
call fcn.00421130
add esp, 4
mov edi, ebx
mov ebx, eax
movzx eax, byte [edi + esi - 1]
push eax
call fcn.00421130
add esp, 4
shl bl, 2
mov ah, al
shr ah, 4
and ah, 3
or ah, bl
mov ecx, edi
mov edi, dword [esp + 0x40]
lea ebx, [edi + 1]
mov edx, dword [esp + 0x3c]
mov byte [edx + edi], ah
cmp esi, ebp
jae 0x42e880
mov byte [esp + 0x44], al
movzx eax, byte [ecx + esi]
push eax
call fcn.00421130
mov edx, dword [esp + 0x54]
add esp, 4
cmp al, 0x40
mov ebp, ebx
je 0x42e884
movzx ecx, byte [esp + 0x44]
shl cl, 4
mov ebx, eax
shr al, 2
and al, 0xf
or al, cl
lea ebp, [edi + 2]
mov ecx, dword [esp + 0x3c]
mov byte [ecx + edi + 1], al
lea eax, [esi + 1]
cmp eax, edx
jae 0x42e884
mov eax, dword [esp + 0x54]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.00421130
mov edx, dword [esp + 0x54]
add esp, 4
cmp al, 0x40
je 0x42e884
shl bl, 6
add al, bl
mov ecx, dword [esp + 0x3c]
mov byte [ecx + edi + 2], al
add edi, 3
mov ebp, edi
jmp 0x42e884
mov esi, eax
lea eax, [esi + 1]
cmp byte [esi], 0
jne 0x42e960
mov edi, esi
and edi, dword [esp + 0xa0]
add edi, edi
xor esi, ebx
mov edx, edi
sub edx, esi
lea ecx, [edx + edx*2]
shr ecx, 2
movzx eax, byte [ebx + edx - 1]
cmp eax, 0x3d
je 0x42e990
cmp eax, 0x2e
jne 0x42e991
dec ecx
movzx eax, byte [ebx + edx - 2]
cmp eax, 0x3d
mov dword [esp + 0x44], edx
je 0x42e9a4
cmp eax, 0x2e
jne 0x42e9a5
dec ecx
mov dword [esp + 0x80], ecx
lea eax, [ecx + 1]
push eax
call fcn.0040c6f0
add esp, 4
mov dword [esp + 0x40], eax
cmp edi, esi
mov edi, dword [esp + 0x44]
jne 0x42ea1b
mov eax, dword [esp + 0x80]
add eax, 0xfffffffb
mov dword [esp], eax
mov eax, dword [esp + 0x40]
add eax, 5
mov dword [esp + 4], eax
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
push 0x6c625980
push dword [0x453bb0]
call fcn.00447710
add esp, 8
lea ecx, [esp + 0x5c]
mov edx, esp
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
mov ecx, ebx
jmp dword [0x450584]
xor ebp, ebp
mov esi, 2
jmp 0x42ea4a
mov edx, edi
mov ebp, ebx
lea eax, [esi + 4]
add esi, 2
cmp esi, edx
mov esi, eax
mov ebx, dword [esp + 0x54]
mov edi, edx
jae 0x42e9c4
movzx eax, byte [ebx + esi - 2]
push eax
call fcn.00421130
add esp, 4
mov ecx, ebx
mov bh, al
movzx eax, byte [ecx + esi - 1]
push eax
call fcn.00421130
add esp, 4
shl bh, 2
mov ah, al
shr ah, 4
and ah, 3
or ah, bh
mov ecx, dword [esp + 0x54]
lea ebx, [ebp + 1]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x3c], ebp
mov byte [edx + ebp], ah
cmp esi, edi
jae 0x42ea30
mov byte [esp + 0x50], al
movzx eax, byte [ecx + esi]
push eax
call fcn.00421130
mov edx, dword [esp + 0x48]
add esp, 4
cmp al, 0x40
mov ebp, ebx
je 0x42ea34
movzx edx, byte [esp + 0x50]
shl dl, 4
mov ecx, eax
shr cl, 2
and cl, 0xf
or cl, dl
mov edi, dword [esp + 0x3c]
lea ebp, [edi + 2]
mov edx, dword [esp + 0x40]
mov byte [edx + edi + 1], cl
mov edx, dword [esp + 0x44]
lea ecx, [esi + 1]
cmp ecx, edx
jae 0x42ea34
mov ecx, dword [esp + 0x54]
movzx ecx, byte [ecx + esi + 1]
push ecx
mov ebx, eax
call fcn.00421130
mov edx, dword [esp + 0x48]
add esp, 4
cmp al, 0x40
je 0x42ea34
mov ecx, ebx
shl cl, 6
add al, cl
mov ecx, dword [esp + 0x40]
mov ebp, dword [esp + 0x3c]
mov byte [ecx + ebp + 2], al
add ebp, 3
jmp 0x42ea34
push edi
call fcn.0040c700
add esp, 4
mov esi, dword [esp + 0x90]
mov dword [esp], 0x20272625
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 3
ja 0x42eb69
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
movzx eax, byte [esp + eax]
push dword [esp + 8]
push eax
call fcn.00430e80
add esp, 8
mov ecx, dword [esp + 8]
mov byte [esp + ecx], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 4
jb 0x42eb40
mov eax, dword [0x453ba4]
test eax, eax
je 0x42ebb0
mov ecx, dword [esp]
xor edx, edx
mov edi, dword [0x453ba8]
nop
nop
nop
cmp dword [edi + edx*8], 0x625b6034
je 0x42eba0
mov ebp, edx
xor ebp, 1
and edx, 1
lea edx, [edx*2]
add edx, ebp
cmp edx, eax
jb 0x42eb80
jmp 0x42ebb0
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne 0x42ebba
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, dword [esp + 0x58]
jmp dword [0x4505c8]
push esi
push 1
push dword [0x453bac]
push eax
call fcn.00444990
add esp, 0x10
mov esi, dword [esp + 0x58]
jmp dword [0x4505c8]
push esi
call fcn.004046e0
add esp, 4
push esi
call fcn.004046e0
add esp, 4
jmp dword [0x4505bc]
jmp dword [0x4505c0]
push ebx
call fcn.0040c700
add esp, 4
push ebx
call fcn.0040c700
add esp, 4
jmp dword [0x450600]
xor eax, eax
jmp dword [0x450750]
push ebp
mov esi, eax
call fcn.0040c700
mov eax, esi
add esp, 4
add esp, 0x88
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0x78]
push 0
push eax
push dword [esp + 0x78]
call fcn.00448410
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 0x10], 0
lea ebx, [esp + 0x14]
jmp dword [eax*4 + 0x450620]
mov dword [esp + 0x80], ebp
mov esi, dword [esp + 0x78]
lea eax, [esi + 1]
push eax
call fcn.0040c6f0
add esp, 4
push 0
push esi
mov dword [esp + 0x7c], eax
push eax
push dword [esp + 0x7c]
call fcn.004484f0
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 0x10], 0
jmp dword [eax*4 + 0x450628]
mov ebp, dword [esp + 0x80]
jmp dword [0x450748]
push dword [esp + 0x74]
call fcn.0040c700
add esp, 4
mov esi, dword [esp + 0x70]
mov dword [esp], 0x20272625
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
cmp eax, 3
ja 0x42ef09
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x14]
movzx eax, byte [esp + eax]
push dword [esp + 0x14]
push eax
call fcn.00430e80
add esp, 8
mov ecx, dword [esp + 0x14]
mov byte [esp + ecx], al
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, 4
jb 0x42eee0
mov eax, dword [0x453ba4]
test eax, eax
je 0x42ef46
mov ecx, dword [esp]
xor edx, edx
mov edi, dword [0x453ba8]
nop
nop
nop
cmp dword [edi + edx*8], 0x625b6034
je 0x42ef3a
mov ebx, edx
xor ebx, 1
and edx, 1
lea edx, [ebx + edx*2]
cmp edx, eax
jb 0x42ef20
jmp 0x42ef46
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne 0x42f770
mov eax, dword [esp + 0x10]
and al, 1
jmp dword [0x450750]
mov eax, dword [esp + 0x78]
mov esi, dword [esp + 0x74]
mov byte [esi + eax], 0
mov dword [esp + 0x10], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x14], 0x56a2a4aa
mov dword [esp + 0x18], 0x525d505e
mov word [esp + 0x1c], 0x152b
mov byte [esp + 0x1e], 0xf6
mov word [esp + 0x1f], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xc
ja 0x42efd6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x14]
push dword [esp]
push eax
call fcn.00431770
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xd
jb 0x42efb0
movzx ecx, byte [esp + 0x14]
test cl, cl
je 0x42f020
mov eax, ebx
mov ebp, esi
jmp 0x42eff7
movzx ecx, byte [eax]
test cl, cl
je 0x42f032
movzx edx, byte [esi]
test dl, dl
je 0x42f030
inc esi
inc eax
lea edi, [ebp + 1]
cmp dl, cl
je 0x42f00b
mov ebp, edi
mov esi, edi
je 0x42eff0
mov eax, ebx
jmp 0x42eff0
mov ebp, esi
jmp 0x42f032
xor ebp, ebp
xor eax, eax
test ebp, ebp
sete al
jmp dword [eax*4 + 0x450630]
jmp dword [0x450640]
lea esi, [ebp + 0xa]
movzx eax, byte [ebp + 0xa]
xor edx, edx
test al, al
je 0x42f040
mov ecx, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x22
je 0x42f070
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x42f060
jmp 0x42f040
mov edx, ecx
jmp dword [0x450640]
mov ecx, edx
sub ecx, esi
xor eax, eax
cmp ecx, 5
setb al
jmp dword [eax*4 + 0x450648]
jmp dword [0x45065c]
xor eax, eax
cmp byte [edx - 1], 0x74
setne al
jmp dword [eax*4 + 0x450660]
xor eax, eax
cmp byte [edx - 2], 0x78
setne al
jmp dword [eax*4 + 0x450668]
jmp dword [0x45067c]
xor eax, eax
cmp byte [edx - 3], 0x74
setne al
jmp dword [eax*4 + 0x450680]
xor eax, eax
cmp byte [edx - 4], 0x2e
setne al
jmp dword [eax*4 + 0x450688]
mov eax, ecx
inc eax
mov ebx, ecx
mov edi, edx
jns 0x42f106
mov eax, 0xffffffff
jmp 0x42f10d
jmp dword [0x450698]
lea eax, [ebx*2 + 2]
push eax
call fcn.0040c6f0
add esp, 4
mov dword [esp + 0x14], 0
mov dword [esp + 0x68], ebx
lea edx, [eax + ebx*2]
mov ecx, eax
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
cmp eax, edx
mov eax, edi
lea ebx, [esp + 0x14]
jae 0x42f193
mov ecx, dword [esp + 8]
cmp esi, eax
jae 0x42f193
mov ecx, dword [esp + 8]
mov edi, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi], 0
je 0x42f193
push ebx
push eax
push edi
mov ebx, eax
mov dword [esp + 0x10], ecx
call fcn.00411390
add esp, 0xc
movzx ecx, word [esp + 0x14]
mov edx, dword [esp + 4]
mov word [edx], cx
mov ecx, dword [esp + 4]
add ecx, 2
cmp ecx, dword [esp + 0xc]
jae 0x42f18d
add edi, eax
cmp edi, ebx
mov eax, ebx
lea ebx, [esp + 0x14]
jb 0x42f150
jmp 0x42f193
mov eax, ebx
lea ebx, [esp + 0x14]
mov dword [esp + 0x5c], eax
mov word [ecx], 0
push 0x60
push 3
push 0x120089
lea eax, [esp + 0x6c]
push eax
push dword [esp + 0x18]
call fcn.004480b0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4506a0]
push 0
lea eax, [esp + 0x70]
push eax
push dword [esp + 0x68]
call fcn.00448410
add esp, 0xc
test eax, eax
setns al
mov edi, dword [esp + 0x6c]
cmp edi, 0x100000
setb cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x4506a8]
push edi
call fcn.0040c6f0
add esp, 4
push 0
push edi
mov dword [esp + 0x60], eax
push eax
push dword [esp + 0x6c]
call fcn.004484f0
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4506b0]
xor ecx, ecx
mov eax, dword [esp + 8]
mov edi, dword [esp + 0x68]
jmp 0x42f238
add eax, 2
test dx, dx
je 0x42f249
mov ebx, ecx
movzx edx, word [eax]
mov ecx, eax
cmp dx, 0x5c
je 0x42f230
mov ecx, ebx
jmp 0x42f230
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x4506b8]
mov dword [esp + 0x64], 0
mov dword [esp + 0x54], 0
jmp dword [0x4506c4]
sub ebx, dword [esp + 8]
sar ebx, 1
inc ebx
mov eax, edi
mov dword [esp + 0x54], ebx
sub eax, ebx
mov dword [esp + 0x64], eax
jmp dword [0x4506c4]
mov eax, dword [esp + 0x64]
add eax, 0x1b
push eax
call fcn.0040c6f0
add esp, 4
mov edi, eax
mov dword [esp + 0x14], 0xf0f6f0df
mov dword [esp + 0x18], 0xcbc1eff2
mov dword [esp + 0x1c], 0xc2e0bfd0
mov dword [esp + 0x20], 0x84d7c4cc
mov dword [esp + 0x24], 0xcedac6e2
mov dword [esp + 0x28], 0x98cef0c0
mov dword [esp + 0x2c], 0x4e9e99
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1b
ja 0x42f305
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x14]
push dword [esp]
push eax
call fcn.004317e0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1c
jb 0x42f2df
movzx ecx, byte [esp + 0x14]
mov dword [esp + 0xc], edi
mov eax, edi
test cl, cl
mov ebx, dword [esp + 0x54]
mov edi, dword [esp + 0x68]
je 0x42f32f
lea edx, [esp + 0x15]
mov eax, dword [esp + 0xc]
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x42f324
mov ecx, edi
mov byte [eax], 0
sub ecx, ebx
je 0x42f367
lea edx, [esi + ebx]
mov edi, ecx
and edi, 3
je 0x42f36b
mov dword [esp + 4], edi
xor edi, edi
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
mov byte [eax + edi], bl
inc edi
cmp dword [esp + 4], edi
jne 0x42f348
add eax, edi
sub ecx, edi
mov edi, eax
mov ebx, dword [esp + 0x54]
jmp 0x42f36b
mov edi, eax
jmp 0x42f3ba
add ebx, ebp
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x5c]
sub ebx, dword [esp + 4]
add ebx, 0xfffffff5
cmp ebx, 3
jb 0x42f3ba
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
mov byte [eax], bl
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
mov byte [eax + 1], bl
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
mov byte [eax + 2], bl
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
lea edi, [eax + 4]
mov byte [eax + 3], bl
mov eax, edi
add ecx, 0xfffffffc
jne 0x42f381
mov byte [edi], 0
mov ecx, dword [esp + 0x9c]
push dword [esp + 0x6c]
push dword [esp + 0x5c]
push dword [esp + 0x14]
call fcn.0040d570
jmp case.0x42f1bb.7
mov edi, eax
mov byte [edi], 0
mov ecx, dword [esp + 0x9c]
push dword [esp + 0x6c]
push dword [esp + 0x5c]
mov edi, dword [esp + 0xc]
push edi
call fcn.0040d570
lea ebx, [esp + 0x14]
jmp dword [0x4506c8]
mov eax, dword [esp + 0x64]
add eax, 0x1b
push eax
call fcn.0040c6f0
add esp, 4
mov ebx, eax
mov dword [esp + 0x14], 0xf0f6f0df
mov dword [esp + 0x18], 0xcbc1eff2
mov dword [esp + 0x1c], 0xc2e0bfd0
mov dword [esp + 0x20], 0x84d7c4cc
mov dword [esp + 0x24], 0xcedac6e2
mov dword [esp + 0x28], 0x98cef0c0
mov dword [esp + 0x2c], 0x4e9e99
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1b
ja 0x42f486
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x14]
push dword [esp]
push eax
call fcn.004317e0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1c
jb 0x42f460
movzx ecx, byte [esp + 0x14]
mov dword [esp + 4], ebx
mov eax, ebx
test cl, cl
mov ebx, dword [esp + 0x54]
mov edi, dword [esp + 0x68]
je 0x42f4bb
lea edx, [esp + 0x15]
mov eax, dword [esp + 4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x42f4b0
mov ecx, edi
mov byte [eax], 0
sub ecx, ebx
je 0x42f3d7
mov edi, dword [esp + 0x5c]
sub edi, ebx
sub edi, ebp
lea edx, [esi + ebx]
mov ebx, edi
and ebx, 3
xor ebx, 2
mov dword [esp + 0xc], edi
je 0x42f511
lea ecx, [edi - 0xa]
mov dword [esp + 0x7c], ecx
xor edi, edi
nop
nop
nop
nop
nop
nop
mov ecx, ebx
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
mov byte [eax + edi], bl
mov ebx, ecx
inc edi
cmp ecx, edi
jne 0x42f4f0
add eax, edi
mov ecx, dword [esp + 0x7c]
sub ecx, edi
mov edi, eax
jmp 0x42f511
mov ebx, dword [esp + 0xc]
add ebx, 0xfffffff5
cmp ebx, 3
jb 0x42f3d9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
mov byte [eax], bl
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
mov byte [eax + 1], bl
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
mov byte [eax + 2], bl
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
lea edi, [eax + 4]
mov byte [eax + 3], bl
mov eax, edi
add ecx, 0xfffffffc
jne 0x42f530
jmp 0x42f3d9
mov ecx, dword [esp + 0x10]
and cl, 1
or cl, al
mov dword [esp + 0x10], ecx
jmp dword [0x4506d0]
jmp dword [0x4506d8]
push edi
call fcn.0040c700
add esp, 4
push edi
call fcn.0040c700
add esp, 4
jmp dword [0x4506e4]
jmp dword [0x4506e8]
jmp dword [0x4506f4]
jmp dword [0x450714]
push dword [esp + 0x58]
call fcn.0040c700
add esp, 4
push dword [esp + 0x58]
call fcn.0040c700
add esp, 4
jmp dword [0x4506fc]
jmp dword [0x450708]
mov eax, dword [esp + 0x5c]
jmp dword [0x450720]
jmp dword [0x45072c]
mov esi, eax
jmp dword [0x450744]
cmp dword [edi + edx*8], 0x625b6034
je 0x42f61e
mov ebx, edx
xor ebx, 1
and edx, 1
lea edx, [ebx + edx*2]
lea ebx, [esp + 0x14]
cmp edx, eax
jb 0x42f600
jmp case.0x42f1bb.27
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
je case.0x42f1bb.27
push esi
push 1
push dword [0x453bac]
push eax
call fcn.00444990
add esp, 0x10
mov esi, dword [esp + 0x60]
mov dword [esp], 0x20272625
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
cmp eax, 3
ja 0x42f689
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x14]
movzx eax, byte [esp + eax]
push dword [esp + 0x14]
push eax
call fcn.00430e80
add esp, 8
mov ecx, dword [esp + 0x14]
mov byte [esp + ecx], al
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, 4
jb 0x42f660
mov eax, dword [0x453ba4]
test eax, eax
je 0x42f6c6
mov ecx, dword [esp]
xor edx, edx
mov edi, dword [0x453ba8]
nop
nop
nop
cmp dword [edi + edx*8], 0x625b6034
je 0x42f6be
mov ebx, edx
xor ebx, 1
and edx, 1
lea edx, [ebx + edx*2]
lea ebx, [esp + 0x14]
cmp edx, eax
jb 0x42f6a0
jmp 0x42f6c6
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne 0x42f736
jmp dword [0x45071c]
mov esi, dword [esp + 0x60]
mov dword [esp], 0x20272625
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
cmp eax, 3
ja 0x42f719
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x14]
movzx eax, byte [esp + eax]
push dword [esp + 0x14]
push eax
call fcn.00430e80
add esp, 8
mov ecx, dword [esp + 0x14]
mov byte [esp + ecx], al
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, 4
jb 0x42f6f0
mov eax, dword [0x453ba4]
test eax, eax
je case.0x42f1bb.27
mov ecx, dword [esp]
xor edx, edx
mov edi, dword [0x453ba8]
jmp 0x42f600
push esi
push 1
push dword [0x453bac]
push eax
call fcn.00444990
add esp, 0x10
jmp dword [0x45071c]
push dword [esp + 8]
call fcn.0040c700
add esp, 4
push dword [esp + 8]
call fcn.0040c700
mov eax, dword [esp + 0x60]
add esp, 4
jmp dword [0x450730]
push esi
push 1
push dword [0x453bac]
push eax
call fcn.00444990
add esp, 0x10
mov eax, dword [esp + 0x10]
and al, 1
jmp dword [0x450750]
int3
leave
inc edx
add al, al
leave
inc edx
add byte [eax], dl
retf 0x42
iretd
rol dword [edx], 1
mov byte [0xa50042d2], al
rol dword [edx], 1
rcl edx, cl
inc edx
add al, al
rol byte [edx], cl
stc
rol byte [edx], cl
inc ebx
rol dword [edx], cl
push ss
aam 66
add byte [edx - 0x2c], cl
inc edx
add byte [eax - 0x2c], ah
inc edx
add bl, bl
rol dword [edx], cl
adc bl, 0x42
add byte [edx - 1342160173], ah
rol dword [edx], cl
rcl bl, 0x42
add al, al
rol dword [edx], cl
rcl bl, 0x42
add dl, al
rol dword [edx], cl
fcmovnbe st(0), st(3)
inc edx
add cl, cl
rol dword [edx], cl
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
fcmovnbe st(0), st(3)
inc edx
add byte [ecx], al
add byte [eax], al
add cl, ch
rol dword [edx], cl
mov ss, esp
inc edx
add byte [edi], cl
aad 0x42
add byte [esi], bl
aad 0x42
add cl, bh
aad 0x42
add al, al
rol byte [edx], cl
adc dh, dl
inc edx
add bh, bh
aad 0x42
add al, al
rol byte [edx], cl
adc dh, dl
inc edx
add byte [ecx - 0x3bffbd2f], dh
rol dword [edx], 1
rcl cl, 1
inc edx
add al, dl
rol dword [edx], 1
rcl cl, cl
inc edx
add al, dl
rol dword [edx], 1
fcmovnbe st(0), st(1)
inc edx
add dh, ah
rol dword [edx], 1
sbb al, 0xcf
inc edx
add byte [esi - 0x2e], ch
inc edx
add byte [esi - 0x2e], bh
inc edx
add byte [edi], dh
iretd