Function at 0x4247e8
Capabilities:
Authenticate hmac
Check http status code
Encode data using base64
Encode data using xor
Encrypt data using chaskey
Encrypt data using rc4 ksa
Encrypt data using speck
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffb4
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x4c], eax
push 0x190
push 0
call fcn.00403890
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
call fcn.00422304
or eax, eax
js 0x4296fe
mov dword [ebp - 0x2c], eax
imul edx, eax, 0x32
add edx, 0x57114c
mov dword [ebp - 0x40], edx
push 0x11
call fcn.00403b20
shr ax, 8
test ax, ax
seta bl
push 0x10
call fcn.00403b20
shr ax, 8
test ax, ax
seta al
add eax, eax
add bl, al
mov byte [ebp - 0x47], bl
mov eax, dword [ebp + 8]
call fcn.00422320
call fcn.00422304
movzx edx, byte [0x4ad260]
cmp eax, dword [edx*4 + 0x57d4d0]
je 0x424873
cmp dword [ebp - 0x2c], 0xc8
jne 0x424877
xor eax, eax
jmp 0x424879
mov al, 1
mov byte [ebp - 0x35], al
mov eax, dword [ebp + 0xc]
cmp eax, 0x102
jg 0x42493a
je 0x4256e1
cmp eax, 0x20
jg 0x4248ff
je 0x424c67
cmp eax, 0x14
ja case.0x424994.515
jmp dword [eax*4 + 0x4248ab]
cmp eax, 0x2c
jg 0x424921
je 0x4295bf
sub eax, 0x24
je 0x4295dd
sub eax, 7
je 0x4269c7
jmp case.0x424994.515
sub eax, 0x84
je 0x424f51
sub eax, 0x7c
je 0x42517c
jmp case.0x424994.515
cmp eax, 0x200
jg 0x424986
je 0x424cc6
cmp eax, 0x114
jg 0x42496d
je 0x424dca
sub eax, 0x104
je 0x4256d6
sub eax, 0xd
je 0x42500c
jmp case.0x424994.515
sub eax, 0x115
je 0x424dea
sub eax, 0x1f
je 0x4295fd
jmp case.0x424994.515
add eax, 0xfffffdff
cmp eax, 0x13
ja case.0x424994.515
jmp dword [eax*4 + 0x42499b]
mov eax, dword [ebp - 0x40]
cmp byte [eax + 0x10], 0
je 0x424a00
cmp word [ebp - 0x2c], 0x3e8
jne case.0x424994.515
pushal
mov eax, dword [eax + 0x11]
mov dword [ebp - 0xc], eax
mov edi, dword [ebp - 0x14]
mov ebx, dword [ebp + 8]
push edi
push ebx
push edi
push ebx
call fcn.00403b98
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov edi, eax
lea esi, [ebp - 0x28]
push esi
push ebx
call fcn.00403bf0
mov eax, dword [esi]
sub dword [ebp - 0x20], eax
cmp word [ebp - 0x2c], 0x3e8
je 0x424b75
mov esi, fcn.00403a08
push 0
push 3
cmp byte [ebp - 0xc], 0x7e
jne 0x424a4e
sub dword [esp], 2
push 0
call fcn.004039c8
push eax
push edi
call esi
push eax
cmp dword [ebp - 0x2c], 1
je 0x424a66
cmp byte [ebp - 0x35], 0
jne 0x424a79
push 5
cmp byte [ebp - 0xc], 0x7e
jne 0x424a72
add dword [esp], 0xfffffffc
call fcn.004039f0
jmp 0x424a83
push 0x606060
call fcn.004039d0
push eax
push edi
call esi
push eax
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x24]
cmp byte [ebp - 0xc], 0x7e
jne 0x424a9e
push eax
push dword [ebp - 0x20]
push 0
push 0
jmp 0x424aa9
dec eax
push eax
mov eax, dword [ebp - 0x20]
dec eax
push eax
push 0
push 1
push edi
call fcn.00403a10
push edi
call esi
push eax
call fcn.004039d8
push edi
call esi
push eax
call fcn.004039d8
cmp byte [ebp - 0xc], 0x7e
je 0x424b9e
push 0x1e
pop eax
cmp dword [ebp - 0x2c], 1
jne 0x424ad6
mov al, 0xa4
mov dword [ebp - 0x1c], eax
push ebp
xor eax, eax
call fcn.00423a14
mov esi, dword [ebp - 0x30]
cmp dword [ebp - 0x2c], 1
jne 0x424b06
mov dword [esi + 0xc], 0xc0c0c0
push 3
push 0x1d
mov eax, dword [ebp - 0x20]
sub eax, 4
push eax
push 0xa3
call fcn.004238fc
xor edi, edi
inc edi
imul eax, edi, 0x60606
mov dword [esi + 0xc], eax
push 0
lea eax, [edi - 0x14]
neg eax
push eax
push dword [ebp - 0x20]
call fcn.0042396c
cmp edi, 0x14
jb 0x424b08
mov dword [esi + 8], 0xffffff
push 0xc7
push dword [ebp - 0x14]
push ebx
call fcn.00403be0
movzx eax, byte [0x4ad268]
imul edx, eax, 0xfffffffd
add edx, 0xa
mov eax, 0x100002d
call fcn.00423d0c
mov dword [esi + 0xc], 0x808080
push 8
push 3
push 0x1e
push 0x19
call fcn.004239ac
xor eax, eax
mov edx, 0x4a7014
call fcn.004243ac
jmp 0x424b93
mov eax, dword [ebp - 0x24]
sub dword [ebp - 0x1c], eax
push ebp
mov eax, 0xffffff
call fcn.00423a14
mov eax, dword [ebp - 0x30]
xor edx, edx
mov dword [eax + 8], edx
call fcn.00421f30
call fcn.00423ac8
call fcn.00423ad0
pop ecx
call fcn.00403ba0
popal
jmp 0x4296fe
cmp byte [0x4ad260], 0
jne 0x424c1b
cmp dword [0x571928], 0
je 0x424c1b
push dword [0x57ae92]
call fcn.00403ae8
or eax, eax
jne 0x424c1b
push dword [0x57aef6]
call fcn.00403ae8
or eax, eax
jne 0x424c1b
push dword [0x57b310]
call fcn.00403ae8
or eax, eax
jne 0x424c1b
pushal
xor ebx, ebx
movzx edi, word [ebx*2 + 0x424c21]
imul esi, edi, 0x32
add esi, 0x571171
push dword [esi - 0x19]
call fcn.00403ae8
or eax, eax
je 0x424c14
push dword [esi - 0x19]
call fcn.00403b68
or eax, eax
jne 0x424c29
inc ebx
cmp ebx, 4
jb 0x424beb
popal
nop
jmp case.0x424994.515
movsx eax, word [ebp + 0x12]
cdq
push 0x1e
pop ecx
idiv ecx
or eax, eax
je 0x424c61
js 0x424c44
cdq
cmp dword [esi], edx
je 0x424c61
sub dword [esi], eax
js 0x424c51
jmp 0x424c53
mov edx, dword [esi - 0x13]
cmp dword [esi], edx
jae 0x424c61
sub dword [esi], eax
cmp dword [esi], edx
jbe 0x424c53
mov dword [esi], edx
mov eax, edi
call fcn.004222e8
mov eax, edi
call fcn.004217bc
popal
jmp 0x4296fe
cmp dword [ebp - 0x2c], 1
je case.0x424994.515
jmp 0x4296fe
movzx eax, word [0x4ad254]
test ax, ax
je 0x424caf
movzx edx, ax
lea edx, [edx + edx*4]
lea edx, [edx + edx*4]
mov byte [edx*2 + 0x57117b], 0
call fcn.004222e8
mov word [0x4ad254], 0
test byte [0x4ad256], 4
jbe 0x424caf
call fcn.00403b48
mov eax, dword [ebp - 0x40]
cmp byte [eax + 0x11], 0x34
jne case.0x424994.515
call fcn.00403b48
jmp 0x4296fe
mov eax, 0x4ad254
movzx ecx, word [eax]
or ecx, ecx
je 0x424cdf
cmp ecx, dword [ebp - 0x2c]
jne 0x424d5e
test byte [eax + 2], 4
nop
je 0x424d5e
pushal
mov esi, eax
call fcn.00403b38
cmp eax, dword [ebp + 8]
jne 0x424d5d
lea eax, [ebp - 0xc]
push eax
push eax
call fcn.00403c10
push dword [ebp + 8]
call fcn.00403c20
mov ebx, dword [ebp - 8]
mov eax, dword [ebp - 0x40]
cmp byte [eax + 0x11], 0x4b
je 0x424d10
mov ebx, dword [ebp - 0xc]
mov edi, eax
lea edx, [ebp - 0xc]
call fcn.00422a58
mov ecx, dword [ebp - 4]
sub ecx, 0x18
cmp ecx, dword [edi + 0x12]
jbe 0x424d28
mov ecx, dword [edi + 0x12]
movsx eax, word [esi + 8]
neg eax
add eax, ebx
imul dword [edi + 0x12]
idiv ecx
or eax, eax
je 0x424d5d
add eax, dword [esi + 4]
or eax, eax
jns 0x424d42
xor eax, eax
cmp eax, dword [edi + 0x12]
jbe 0x424d4a
mov eax, dword [edi + 0x12]
mov dword [edi + 0x25], eax
mov eax, dword [ebp - 0x2c]
call fcn.004222e8
mov eax, dword [ebp - 0x2c]
call fcn.004217bc
popal
mov eax, dword [ebp - 0x40]
cmp byte [eax + 0x11], 0x34
jne 0x424da6
call fcn.00403b38
cmp eax, dword [ebp + 8]
jne 0x424da6
push 1
call fcn.00403b20
shr ax, 8
test ax, ax
jbe 0x424da1
call fcn.00424530
mov eax, dword [ebp - 0x40]
movzx eax, byte [eax + 0x2e]
mov edx, dword [ebp - 0x40]
mov byte [edx + 0x30], al
movzx eax, word [ebp - 0x2c]
call fcn.004222e8
jmp 0x4296fe
call fcn.00403b48
mov edx, dword [ebp - 0x40]
mov eax, dword [0x2dba9d8]
cmp byte [edx + 0x11], 0x34
je 0x424dbf
cmp byte [edx + 0x11], 0x35
je 0x424dbf
mov eax, dword [0x570e94]
push eax
call fcn.00403c08
jmp case.0x424994.515
cmp dword [ebp - 0x2c], 0x199
jne case.0x424994.515
pushal
mov edi, dword [0x57613a]
mov ebx, fcn.004222e8
xor esi, esi
jmp 0x424eaf
cmp dword [ebp - 0x2c], 0x389
jne 0x424e93
movzx eax, word [ebp + 0x10]
sub ax, 1
jb 0x424e44
je 0x424e11
add eax, 0xfffffffd
sub ax, 2
jb 0x424e77
jmp 0x424e93
push 1
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0xc]
push eax
call fcn.00403bb8
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0x50
jge 0x424e93
push 0xffffffffffffffff
mov eax, dword [ebp - 0x34]
inc eax
push eax
push 1
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0xc]
push eax
call fcn.00403bc0
call fcn.00418574
jmp 0x424e93
push 1
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0xc]
push eax
call fcn.00403bb8
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
jle 0x424e93
push 0xffffffffffffffff
mov eax, dword [ebp - 0x34]
dec eax
push eax
push 1
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0xc]
push eax
call fcn.00403bc0
call fcn.00418574
jmp 0x424e93
push 0xffffffffffffffff
mov eax, dword [ebp + 0x10]
shr eax, 0x10
push eax
push 1
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0xc]
push eax
call fcn.00403bc0
call fcn.00418574
cmp dword [ebp - 0x2c], 0x16b
jne case.0x424994.515
pushal
mov edi, dword [0x57583e]
mov ebx, fcn.004184f0
push 1
pop esi
push esi
push edi
call fcn.00403bb8
movzx edx, word [ebp + 0x10]
inc eax
cmp edx, 1
je 0x424ee9
dec eax
dec eax
cmp edx, 0
je 0x424ee9
lea ecx, [esi + esi*2 + 9]
sub eax, ecx
cmp edx, 2
je 0x424ee9
lea eax, [eax + ecx*2 + 2]
cmp edx, 3
je 0x424ee9
movzx eax, word [ebp + 0x12]
cmp edx, 5
je 0x424ee9
cmp edx, 4
jne 0x424ef9
push 1
push eax
push esi
push edi
call fcn.00403bc0
mov ax, 0x43
call ebx
popal
jmp 0x4296fe
cmp dword [ebp - 0x2c], 1
je 0x424f1d
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x10]
cmp al, 0
je 0x424f17
cmp al, 6
je 0x424f17
cmp al, 5
jne 0x424f1d
nop
jmp case.0x424994.515
nop
jmp 0x4296fe
mov eax, dword [ebp - 0x40]
cmp byte [eax + 0x10], 0
jne case.0x424994.515
mov eax, dword [ebp + 0x14]
push eax
push 0
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.00403a88
movzx eax, word [ebp - 0x2c]
call fcn.004222e8
jmp 0x4296fe
mov eax, dword [ebp - 0x40]
cmp byte [eax + 0x10], 0
je 0x424f60
nop
jmp case.0x424994.515
cmp byte [eax + 0x11], 0x7e
je 0x424f5a
mov eax, dword [ebp - 0x2c]
cmp ax, 0xc8
je 0x424f8d
movzx edx, byte [0x4ad260]
cmp eax, dword [edx*4 + 0x57d4d0]
jne 0x424f5a
cmp eax, 1
jne 0x424f8d
cmp byte [0x4ad268], 0
jne 0x424f5a
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
call fcn.00403bf0
push 2
pop eax
movsx edx, word [ebp + 0x16]
sub edx, dword [ebp - 0x24]
cmp edx, 0x1c
jb 0x424fd2
mov al, 1
cmp dword [ebp - 0x2c], 1
jne 0x424fd2
movsx edx, word [ebp + 0x14]
sub edx, dword [ebp - 0x20]
cmp edx, 0xfffffff6
jle 0x424fbe
mov al, 0xb
movsx edx, word [ebp + 0x16]
sub edx, dword [ebp - 0x1c]
cmp edx, 0xfffffff6
jle 0x424fd2
cmp al, 0xb
mov al, 0xf
jne 0x424fd2
mov al, 0x11
mov dword [ebp - 0x4c], eax
jmp 0x4296fe
cmp dword [ebp - 0x2c], 1
jne 0x424ffc
mov ecx, 0x57ed80
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + 8]
sub eax, dword [edx]
cmp eax, dword [ecx]
jne 0x425002
mov eax, dword [edx + 0xc]
sub eax, dword [edx + 4]
cmp eax, dword [ecx + 4]
jne 0x425002
nop
jmp case.0x424994.515
call fcn.00421b98
jmp 0x4296fe
mov eax, dword [ebp + 0x14]
call fcn.00422304
or eax, eax
js case.0x424994.515
pushal
mov ebx, eax
imul edi, eax, 0x32
add edi, 0x57115c
cmp byte [edi + 1], 1
jne 0x425040
mov eax, dword [ebp + 0x14]
call fcn.00422320
call fcn.00422304
call fcn.00422088
cmp byte [edi + 1], 0xd
jne 0x42504f
mov dl, 2
mov eax, ebx
call fcn.0042233c
mov eax, ebx
call fcn.00422384
cmp byte [edi], 1
jne 0x425062
mov eax, ebx
mov ecx, dword [edi - 0x10]
jmp 0x4250a0
movzx esi, word [ebp + 0x12]
cmp byte [edi], 3
jne 0x425083
cmp esi, 1
jne 0x425083
xor ecx, ecx
mov edx, 0x147
mov eax, ebx
call fcn.00421edc
mov dword [edi + 0x15], eax
jmp 0x42509b
cmp byte [edi], 5
je 0x42508d
cmp byte [edi], 6
jne 0x4250a4
cmp esi, 1
je 0x42509b
cmp esi, 2
jne 0x4250a4
xor eax, eax
jmp 0x42509d
mov eax, ebx
mov ecx, dword [edi - 0xc]
jecxz 0x4250a4
call ecx
cmp bx, 0x144
jne 0x4250b0
call fcn.00423858
call fcn.004237d0
dec al
js 0x425107
lea eax, [bx - 0x249]
cmp eax, 4
ja 0x4250f0
mov ecx, 0x1000
push ecx
shl eax, 0xc
add eax, 0x2dbef3c
push eax
mov eax, 0x2dbcf3c
push eax
push ecx
push eax
push 0x2dbdf3c
call fcn.00403878
call fcn.00403878
mov eax, ebx
call fcn.0041df24
mov dword [ebp - 0x18], ebx
call fcn.004237f0
or eax, eax
js 0x425107
call fcn.004191a0
popal
jmp 0x4296fe
popal
jmp case.0x424994.515
mov edx, dword [ebp - 0x40]
mov al, byte [edx + 0x11]
cmp al, 0x34
je 0x425122
cmp al, 0x35
jne 0x425142
mov eax, edx
call fcn.00422b64
mov byte [edx + 0x31], 1
cmp byte [edx + 0x11], 0x35
je 0x42513a
mov ecx, dword [edx + 0x2a]
jecxz 0x42513a
cmp byte [ecx], 0
je 0x42513a
mov byte [edx + 0x2e], 0x80
mov eax, dword [ebp - 0x2c]
call fcn.004222e8
movzx eax, word [0x4ad274]
or eax, eax
je 0x425176
cmp eax, dword [ebp - 0x2c]
je 0x425176
imul edx, eax, 0x32
add edx, 0x57117a
and dword [edx], 0
cmp byte [edx + 0x11], 0x35
je 0x425171
mov ecx, dword [edx - 4]
jecxz 0x425171
cmp byte [ecx], 0
je 0x425171
mov byte [edx], 0x80
call fcn.004222e8
nop
jmp case.0x424994.515
cmp dword [ebp + 0x10], 0xd
jne 0x42519b
mov eax, dword [ebp - 0x40]
cmp byte [eax + 0x10], 3
jne 0x42519b
push dword [eax + 0x3e]
call fcn.00403ae8
or eax, eax
je 0x4256fc
cmp dword [ebp + 0x10], 0x1b
jne 0x425202
cmp byte [0x4ad260], 0
jbe 0x425202
call fcn.00403b30
cmp eax, dword [0x573868]
je 0x425202
mov eax, dword [ebp - 0x40]
cmp byte [eax + 0x10], 3
jne 0x4251ef
mov eax, dword [ebp - 0x2c]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
mov eax, dword [eax*2 + 0x57118a]
push eax
call fcn.00403ae8
test eax, eax
jne 0x425202
movzx eax, byte [0x4ad260]
mov eax, dword [eax*4 + 0x57d4d0]
call fcn.00422088
jmp 0x425202
movzx eax, byte [0x4ad260]
mov eax, dword [eax*4 + 0x57d4d0]
call fcn.00422088
push 0xc
pop eax
cmp ah, byte [0x4ad260]
jne 0x42524e
cmp dword [ebp + 0x10], 0x72
je 0x425224
cmp dword [ebp + 0x10], 0x71
jne 0x425229
mov ax, 0x2c2
test byte [ebp - 0x47], 2
je 0x425224
inc eax
call fcn.0041e96c
cmp dword [ebp + 0x10], 0x70
jne 0x425234
call fcn.004224c4
cmp dword [ebp + 0x10], 0x74
jne 0x42524e
mov edx, 0x40710c
test byte [ebp - 0x47], 2
je 0x42524a
mov edx, 0x406f4c
call edx
jmp 0x425274
cmp dword [ebp + 0x10], 0x70
jne 0x425274
movzx eax, byte [0x4ad260]
mov ax, word [eax*4 + 0x57d510]
or eax, eax
je 0x425274
imul eax, eax, 0x32
mov ecx, dword [eax + 0x57114c]
jecxz 0x425274
call ecx
mov eax, dword [ebp - 0x40]
cmp byte [eax + 0x11], 0x34
jne 0x4255f4
cmp dword [ebp + 0x10], 0x43
jne 0x42528d
test byte [ebp - 0x47], 1
jne 0x4252a1
cmp dword [ebp + 0x10], 0x2d
jne 0x42539a
test byte [ebp - 0x47], 1
jbe 0x42539a
mov eax, dword [ebp - 0x40]
movzx edx, byte [eax + 0x2f]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x40]
movzx eax, byte [eax + 0x30]
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 4]
jge 0x4252c0
mov dword [ebp - 4], eax
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 4]
je 0x4296fe
push 0x200
push 0x2042
call fcn.00403890
mov edi, eax
push edi
call fcn.004038a8
mov dword [ebp + 0x14], eax
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 4], 0x7f
jge 0x42533c
cmp dword [ebp - 0xc], 0x7f
jge 0x42531d
jmp 0x425309
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x2a]
movzx eax, byte [eax + ebx + 2]
call fcn.004245dc
mov ebx, dword [ebp - 4]
cmp ebx, dword [ebp - 0xc]
jl 0x4252f9
jmp 0x42533c
movzx eax, byte [ebx + esi + 2]
call fcn.004245dc
mov eax, dword [ebp - 0x40]
mov ebx, dword [eax + 0x2a]
movzx eax, byte [ebx + 1]
mov esi, dword [ebp - 4]
cmp eax, esi
jg 0x425313
mov dword [ebp - 4], 0x7f
mov al, 0xd
call fcn.004245dc
cmp dword [ebp - 4], 0x7f
jle 0x42535f
jmp 0x425357
and ebx, 0x7f
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x2a]
movzx eax, byte [eax + ebx + 0x56]
call fcn.004245dc
mov ebx, dword [ebp - 4]
cmp ebx, dword [ebp - 0xc]
jl 0x425344
push edi
call fcn.004038b0
cmp dword [ebp - 0x34], 0
jle 0x42538f
mov eax, dword [ebp + 8]
push eax
call fcn.00403af0
test eax, eax
je 0x42538f
call fcn.00403b10
push edi
push 0xd
call fcn.00403b00
call fcn.00403af8
jmp 0x4296fe
push edi
call fcn.004038a0
jmp 0x4296fe
cmp dword [ebp + 0x10], 0x56
jne 0x4253a6
test byte [ebp - 0x47], 1
jne 0x4253ba
cmp dword [ebp + 0x10], 0x2d
jne 0x4254da
test byte [ebp - 0x47], 2
jbe 0x4254da
mov eax, dword [ebp + 8]
push eax
call fcn.00403af0
test eax, eax
je 0x4296fe
push 0xd
call fcn.00403b08
mov dword [ebp + 0x10], eax
cmp dword [ebp + 0x10], 0
je 0x4254cb
mov byte [0x4ad270], 5
mov eax, dword [ebp + 0x10]
push eax
call fcn.004038a8
mov ebx, eax
mov dword [ebp + 0x14], ebx
test ebx, ebx
je 0x4254c4
jmp 0x4254ac
cmp si, 0xd
jne 0x425434
mov eax, dword [ebp - 0x40]
cmp byte [eax + 0x2e], 0x7f
ja 0x42542b
push 0
push 0xd
push 0x102
mov eax, dword [ebp + 8]
push eax
call fcn.004247e8
mov byte [0x4ad270], 5
jmp 0x4254a8
or byte [0x4ad270], 2
jmp 0x4254a8
test byte [0x4ad270], 2
jne 0x4254a8
mov eax, dword [ebp - 0x14]
mov byte [eax], 0
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 0x14]
movzx eax, word [eax]
call fcn.00407924
mov eax, dword [ebp - 0x14]
cmp byte [eax + 1], 0
jne 0x425473
push 0
mov eax, dword [ebp + 0x14]
movzx eax, word [eax]
push eax
push 0x102
mov eax, dword [ebp + 8]
push eax
call fcn.004247e8
jmp 0x4254a8
mov eax, dword [ebp + 0x14]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp + 0x14], eax
jmp 0x425498
push 0
movzx eax, bl
push eax
push 0x102
mov eax, dword [ebp + 8]
push eax
call fcn.004247e8
inc dword [ebp + 0x14]
mov eax, dword [ebp + 0x14]
movzx ebx, byte [eax]
test bl, bl
jne 0x425481
mov eax, dword [ebp + 0xc]
mov dword [ebp + 0x14], eax
add dword [ebp + 0x14], 2
mov eax, dword [ebp + 0x14]
movzx esi, word [eax]
test si, si
ja 0x425401
mov eax, dword [ebp + 0x10]
push eax
call fcn.004038b0
mov byte [0x4ad270], 0
call fcn.00403af8
call fcn.004245b8
jmp 0x4296fe
pushal
mov esi, dword [ebp - 0x40]
mov ecx, dword [esi + 0x2a]
add esi, 0x2e
mov edx, dword [esi]
mov dh, dl
and dh, 0x80
mov ebx, edx
and ebx, 0x7f
movzx eax, dl
shr eax, 7
imul eax, eax, 0x54
lea edi, [ecx + eax + 1]
mov eax, dword [ebp + 0x10]
cmp eax, 0x2e
jne 0x42551e
call fcn.00423ae8
or al, al
jne 0x425518
lea edx, [ebx + 1]
mov eax, edi
call fcn.004223c0
mov byte [ebp - 0x47], 0
jmp 0x425589
cmp eax, 0x25
jne 0x42555d
cmp dl, 0x80
jne 0x425534
cmp byte [ecx], 0
jne 0x42559b
mov al, byte [ecx + 1]
mov byte [esi], al
jmp 0x425589
test byte [ebp - 0x47], 1
je 0x425555
cmp ebx, 1
jbe 0x4255e6
dec byte [esi]
dec ebx
cmp byte [ebx + edi + 1], 0x20
je 0x42553a
cmp byte [ebx + edi], 0x20
jne 0x42553a
jmp 0x425589
or ebx, ebx
je 0x4255cd
dec byte [esi]
jmp 0x425589
cmp eax, 0x27
jne 0x425594
or dh, dh
jne 0x42556f
cmp dl, byte [edi]
jb 0x42556f
mov byte [esi], 0x80
jmp 0x4255e8
test byte [ebp - 0x47], 1
je 0x42558c
cmp bl, byte [edi]
jae 0x4255e4
inc byte [esi]
inc ebx
cmp byte [ebx + edi + 1], 0x20
jne 0x425575
cmp byte [ebx + edi], 0x20
je 0x425575
nop
jmp 0x4255e8
cmp bl, byte [edi]
jae 0x4255ed
inc byte [esi]
jmp 0x4255e8
cmp eax, 0x28
jne 0x4255a5
or dh, dh
nop
jne 0x4255ed
push 0x1e0003
jmp 0x4255b0
cmp eax, 0x26
jne 0x4255d0
or dh, dh
je 0x4255ed
push 3
pop esi
mov edx, ebx
lea eax, [edi + 1]
call fcn.00429ce4
add eax, esi
push eax
push 0xffffffffffffffff
push 0x201
push dword [ebp + 8]
call fcn.00403a80
nop
jmp 0x4255ed
cmp eax, 0x24
jne 0x4255db
or ebx, ebx
jne 0x4255e6
jmp 0x4255ed
cmp eax, 0x23
jne 0x4255f3
cmp bl, byte [edi]
jae 0x4255ed
add dh, byte [edi]
mov byte [esi], dh
call fcn.004245b8
popal
jmp 0x4296fe
popal
mov eax, dword [ebp - 0x40]
cmp byte [eax + 0x11], 0x35
jne case.0x424994.515
push eax
call fcn.00422b64
pop eax
pushal
lea esi, [eax + 0x2e]
mov eax, 0x2dbd73c
mov edi, eax
call fcn.00421b88
mov ebx, eax
movzx edx, byte [esi]
mov eax, dword [ebp + 0x10]
cmp eax, 0x23
jne 0x42562b
cmp dl, bl
jb 0x42565b
jmp 0x425661
cmp eax, 0x24
jne 0x425639
dec dl
js 0x4256b2
mov byte [esi], 0
jmp 0x425666
push 0x20
pop ecx
cmp eax, 0x27
jne 0x425669
test byte [ebp - 0x47], 1
je 0x42565f
cmp edx, ebx
jae 0x42565b
inc edx
cmp word [edi + edx*2], cx
jne 0x425647
cmp word [edi + edx*2 - 2], cx
je 0x425647
jmp 0x42568f
mov byte [esi], bl
jmp 0x4256cb
cmp dl, bl
nop
jae 0x4256d0
inc byte [esi]
nop
jmp 0x4256cb
cmp eax, 0x25
jne 0x425693
test byte [ebp - 0x47], 1
je 0x42568c
or edx, edx
je 0x42568a
dec edx
je 0x42568a
cmp word [edi + edx*2], cx
je 0x425674
cmp word [edi + edx*2 - 2], cx
jne 0x425674
jmp 0x42568f
mov dl, 1
dec edx
js 0x4256d0
mov byte [esi], dl
jmp 0x4256cb
cmp dword [ebp + 0x10], 0x2e
jne 0x4256d0
call fcn.00423b78
dec al
js 0x4256b5
mov eax, dword [ebp - 0x40]
call fcn.00422b34
mov eax, dword [ebp - 0x2c]
call fcn.004222e8
nop
jmp 0x4256d0
lodsb al, byte [esi]
cmp al, bl
jae 0x4256d0
call fcn.004223e0
mov byte [ebp - 0x47], 0
mov eax, dword [ebp - 0x40]
call fcn.00422b34
call fcn.004245b8
popal
jmp 0x4296fe
cmp dword [ebp + 0x10], 0xd
je 0x4256fc
jmp case.0x424994.515
cmp dword [ebp + 0x10], 0xd
jne 0x425737
mov eax, dword [ebp - 0x40]
cmp byte [eax + 0x10], 0xff
je 0x425737
cmp byte [eax + 0x10], 3
je 0x425737
cmp byte [eax + 0x11], 0x34
je 0x425737
call fcn.00403b30
cmp eax, dword [0x573868]
je 0x425737
movzx ecx, byte [0x4ad260]
jecxz 0x425737
mov eax, dword [ecx*4 + 0x57d4f0]
imul ecx, eax, 0x32
jecxz 0x425737
mov eax, ecx
mov ecx, dword [ecx + 0x57114c]
jecxz 0x425737
push ecx
push dword [eax + 0x571158]
call fcn.00403b28
pop eax
call eax
cmp dword [ebp + 0x10], 9
jne 0x425746
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x1d], 0
jne 0x42574c
nop
jmp 0x4257eb
pushal
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 4], eax
mov esi, 0x3e9
xor ebx, ebx
mov edi, 0x571169
inc ebx
add edi, 0x32
cmp dword [edi], 0
je 0x4257c6
mov eax, ebx
call fcn.00429ac0
push eax
mov eax, dword [ebp - 0x2c]
call fcn.00429ac0
pop edx
cmp eax, edx
jne 0x4257c6
push dword [edi - 0x11]
call fcn.00403b68
or eax, eax
je 0x4257c6
push dword [edi - 0x11]
call fcn.00403ae8
or eax, eax
je 0x4257c6
imul eax, dword [ebp - 4], 0x32
mov eax, dword [eax + 0x571169]
cmp eax, dword [edi]
jbe 0x4257a6
mov dword [ebp - 4], ebx
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x1d]
cmp eax, dword [edi]
jae 0x4257c6
cmp si, 0x3e8
ja 0x4257c4
imul eax, esi, 0x32
mov eax, dword [eax + 0x571169]
cmp eax, dword [edi]
jbe 0x4257c6
mov esi, ebx
cmp bx, 0x3e8
jb 0x42575f
cmp si, 0x3e8
jbe 0x4257d7
mov esi, dword [ebp - 4]
cmp esi, dword [ebp - 0x2c]
je 0x4257ea
imul eax, esi, 0x32
push dword [eax + 0x571158]
call fcn.00403b28
popal
cmp dword [ebp - 0x2c], 0x214
jne 0x425838
cmp dword [ebp + 0x10], 8
je 0x425838
mov eax, 0x2dbd73c
push eax
call fcn.00421b88
cmp eax, 3
ja 0x425834
mov eax, dword [ebp + 0x10]
pop ecx
cmp dword [ecx], 0x350032
jne 0x42582a
cmp dword [ecx + 4], 0x36
jne 0x42582a
cmp eax, 0x24
jne 0x42582a
mov edx, dword [ebp - 0x40]
cmp byte [edx + 0x2e], 2
je 0x425838
cmp eax, 0x30
jb 0x425834
cmp eax, 0x39
jbe 0x425838
and dword [ebp + 0x10], 0
mov eax, dword [ebp - 0x40]
cmp byte [eax + 0x11], 0x34
jne 0x425892
cmp dword [ebp + 0x10], 0xd
jne 0x425892
pushal
lea esi, [eax + 0x2e]
movzx ebx, byte [esi]
cmp ebx, 0x7f
jbe 0x42585a
call fcn.00421b70
jmp 0x42588c
mov edi, dword [eax + 0x2a]
inc edi
call fcn.00423ae8
push 0x7f
lea eax, [ebx + edi + 1]
push eax
lea eax, [edi + 0x55]
push eax
call fcn.00403878
movzx eax, byte [edi]
sub eax, ebx
mov byte [edi + 0x54], al
mov byte [edi], bl
mov byte [ebx + edi + 1], bh
mov byte [esi], 0x80
mov byte [ebp - 0x47], bh
call fcn.004245b8
popal
jmp 0x4296fe
cmp word [ebp - 0x2c], 0x1a4
jne 0x4258a7
mov word [ebp - 0x2c], 0x37
mov dword [ebp - 0x40], 0x571c0a
mov eax, dword [ebp - 0x40]
cmp byte [eax + 0x11], 0x34
jne 0x425988
pushal
push ebp
lea esi, [eax + 0x2e]
mov eax, dword [esi - 3]
shr eax, 0x1f
imul edi, eax, 0x54
add edi, 1
add edi, dword [esi - 4]
mov ebx, dword [ebp + 0x10]
cmp ebx, 0x20
jb 0x425954
mov eax, ebx
mov ebx, dword [ebp - 0x14]
mov byte [ebx], 0
mov edx, ebx
call fcn.00407924
movzx ebx, byte [ebx]
call fcn.00423ae8
or ebx, ebx
je 0x425940
and byte [0x4ad270], 7
inc byte [esi]
mov eax, edi
mov edx, ebx
mov ecx, dword [esi]
and ecx, 0x7f
call fcn.0042249c
mov eax, edi
call fcn.00429d14
cmp ax, 0x13f
jbe 0x425925
or byte [0x4ad270], 0x80
movzx eax, byte [edi]
mov byte [eax + edi], 0
dec byte [edi]
jmp 0x425906
mov eax, dword [esi]
and eax, 0x7f
movzx edx, byte [edi]
cmp eax, edx
jbe 0x425936
and byte [esi], 0x80
add byte [esi], dl
btr dword [0x4ad270], 7
jae 0x42594e
test byte [0x4ad270], 1
jne 0x42594e
call fcn.00421b70
mov byte [ebp - 0x47], 0
jmp 0x42597c
cmp ebx, 8
jne 0x425981
call fcn.00423ae8
or al, al
je 0x42596c
mov eax, dword [ebp - 0x2c]
call fcn.004222e8
jmp 0x425981
mov edx, dword [esi]
and edx, 0x7f
je 0x425981
mov eax, edi
call fcn.004223c0
dec byte [esi]
call fcn.004245b8
pop eax
popal
jmp 0x4296fe
cmp byte [eax + 0x11], 0x35
jne case.0x424994.515
push eax
call fcn.00422b64
pop eax
pushal
push ebp
lea edi, [eax + 0x2e]
mov ebx, dword [ebp + 0x10]
cmp ebx, 0x20
jb 0x425aff
call fcn.00423b78
mov eax, 0x2dbd73c
call fcn.00421b88
cmp dword [ebp - 0x2c], 0x396
je 0x4259d4
cmp dword [ebp - 0x2c], 0x74
je 0x4259d4
cmp dword [ebp - 0x2c], 0x76
je 0x4259d4
cmp dword [ebp - 0x2c], 0x78
jne 0x4259eb
cmp al, byte [edi - 0x17]
jae 0x425a98
cmp ebx, 0x7f
ja 0x425a98
jmp 0x425aa7
cmp dword [ebp - 0x2c], 0x395
je 0x4259fd
cmp dword [ebp - 0x2c], 0x388
jne 0x425a45
cmp eax, 5
jae 0x425a98
cmp ebx, 0x30
jb 0x425a98
cmp ebx, 0x39
ja 0x425a98
xor eax, eax
cdq
mov esi, 0x2dbd73c
cmp dl, byte [edi]
jne 0x425a2b
lea eax, [eax + eax*4]
lea eax, [ebx + eax*2 - 0x30]
movzx ecx, byte [esi + edx*2]
jecxz 0x425a3b
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2 - 0x30]
inc edx
jmp 0x425a20
shr eax, 0x10
jne 0x425a98
jmp 0x425ad4
cmp byte [edi - 0x17], 3
jne 0x425a53
cmp eax, 3
jae 0x425a98
inc eax
jmp 0x425a6c
cmp dword [ebp - 0x2c], 0x35a
jne 0x425a84
cmp eax, 0xf
jae 0x425a98
mov eax, dword [edi]
cmp ebx, 0x2b
jne 0x425a6c
or al, al
je 0x425a7a
cmp ebx, 0x30
jb 0x425a98
cmp ebx, 0x39
ja 0x425a98
or al, al
jne 0x425aa7
cmp word [0x2dbd73c], 0x2b
je 0x425a98
push 5
pop ecx
movzx eax, byte [ecx + 0x425aa1]
cmp eax, ebx
je 0x425a98
loop 0x425a87
or ebx, ebx
jne 0x425aa7
call fcn.00421b70
jmp 0x425b2a
mov esi, 0x2dbd73c
cmp byte [edi - 0x17], 3
jne 0x425ad4
xor eax, eax
cdq
cmp dl, byte [edi]
jne 0x425ac0
lea eax, [eax + eax*4]
lea eax, [ebx + eax*2 - 0x30]
movzx ecx, byte [esi + edx*2]
jecxz 0x425ad0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2 - 0x30]
inc edx
jmp 0x425ab5
or ah, ah
jne 0x425a98
mov eax, esi
call fcn.00421b88
movzx edx, byte [edi]
sub eax, edx
jl 0x425aff
lea eax, [eax + eax + 2]
push eax
lea esi, [esi + edx*2]
push esi
inc esi
inc esi
push esi
call fcn.00403878
mov word [esi - 2], bx
inc byte [edi]
mov byte [ebp - 0x47], 0
jmp 0x425b25
cmp ebx, 8
jne 0x425b2a
call fcn.00423b78
or al, al
je 0x425b17
mov eax, dword [ebp - 0x2c]
call fcn.004222e8
jmp 0x425b2a
cmp byte [edi], bh
je 0x425b2a
dec byte [edi]
movzx eax, byte [edi]
call fcn.004223e0
call fcn.004245b8
pop eax
popal
mov eax, dword [ebp - 0x40]
call fcn.00422b34
jmp 0x4296fe
mov eax, dword [ebp + 8]
mov dword [ebp + 0x14], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x18], eax
call fcn.004237f0
mov dword [ebp - 0x18], eax
test byte [ebp - 0x47], 2
jbe 0x4262ad
cmp byte [0x2d7f0a8], 0
je 0x42628b
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 0x18], 0xffffffff
je 0x426284
call fcn.00421a8c
pushal
mov ax, 0x169
call fcn.00421d94
cdq
bts edx, eax
mov dword [ebp - 0xc], edx
mov ebx, dword [ebp - 0x18]
mov edi, ebx
shl edi, 8
add edi, 0x57f21b
mov dword [ebp - 0x10], edi
mov esi, 0x2d7f0a8
cmp al, 4
jne 0x425c0f
cmp byte [esi], al
jne 0x425c1d
cmp byte [edi], al
jne 0x425c1d
movzx eax, byte [esi + 2]
cmp al, 0x29
ja 0x425c1d
mov edx, 0x4ad1e8
mov cl, byte [eax + edx]
or cl, cl
je 0x425c28
movzx eax, byte [edi + 2]
cmp cl, byte [eax + edx]
jne 0x425c1d
add esi, 9
add edi, 9
lodsd eax, dword [esi]
stosd dword es:[edi], eax
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
cmp byte [edi - 0x10], 0x1e
jne 0x425c09
and byte [edi - 0x11], 0xfd
or eax, eax
jns 0x425c09
mov word [edi - 0xf], 0x606
or byte [edi - 0x11], 2
mov esi, 0x1ffcadf
xor edi, edi
lodsd eax, dword [esi]
or eax, eax
je 0x425c09
cmp ax, word [ebp - 0x18]
jne 0x425bff
or byte [esi], 0x20
inc esi
inc edi
cmp edi, 0x1e8480
jb 0x425bf1
popal
jmp 0x4296fe
or al, al
jne 0x425e1e
xchg edi, esi
mov al, byte [edi]
cmp al, byte [esi]
nop
jne 0x425c96
cmp al, 3
jne 0x425c2d
cmp byte [edi + 1], 0
nop
je 0x425c96
jmp 0x425c90
cmp al, 4
jne 0x425d81
mov al, byte [esi + 2]
cmp al, 0x1f
je 0x425c48
cmp al, 0x29
je 0x425c48
cmp al, 0x28
je 0x425c48
cmp al, 0x26
jne 0x425ca1
cmp byte [esi + 8], 0
je 0x425ca1
cmp byte [edi + 2], 0
jne 0x425c6e
push dword [esi + 8]
push dword [esi + 2]
push 0xff
lea eax, [esi + 1]
push eax
call fcn.00403870
pop eax
mov byte [esi + 2], al
jmp 0x425c88
mov al, byte [esi + 2]
cmp al, byte [edi + 2]
jne 0x425c96
cmp byte [edi + 8], 0
je 0x425c96
push dword [esi + 8]
push 0x18
push edi
push esi
call fcn.00403878
pop eax
mov byte [esi + 8], al
add dword [ebp - 8], 0x32
nop
jmp 0x425e0b
popal
call fcn.00421b70
jmp 0x4296fe
mov al, byte [edi + 2]
push 0x7c
pop dword [ebp + 0x10]
cmp al, 0x1f
je 0x425cc1
cmp al, 0x29
je 0x425cc1
cmp al, 0x28
je 0x425cc1
mov byte [ebp + 0x10], 0x67
cmp al, 0x26
jne 0x425d53
cmp byte [edi + 8], 0
jne 0x425c96
mov eax, ebx
and eax, 0x7f
cmp al, byte [ebp + 0x10]
ja 0x425c96
sub byte [ebp + 0x10], 0x40
mov eax, ebx
shr eax, 4
shl ah, 4
and al, 0xf0
bt ebx, 7
adc eax, 0
shl eax, 8
cmp byte [eax + 0x58f220], al
je 0x425cfb
mov eax, ebx
and eax, 0x3f
cmp al, byte [ebp + 0x10]
ja 0x425c96
xor eax, eax
neg dword [ebp + 0x10]
add dword [ebp + 0x10], 0x40
mov dl, byte [eax + esi + 2]
xor ecx, ecx
mov ch, 0x19
cmp dl, 0x26
je 0x425d1e
sub ch, 0x15
cmp dl, 0x1f
je 0x425d1e
cmp dl, 0x29
jne 0x425d3c
cmp byte [eax + esi + 8], 0
jne 0x425d3c
lea ebx, [eax + esi]
pushal
push ecx
push ebx
call fcn.00403870
popal
cdq
mov byte [edx + ebx], 4
inc dh
dec ch
jne 0x425d32
inc ah
cmp ah, byte [ebp + 0x10]
jb 0x425d04
mov eax, dword [ebp + 0x10]
shl eax, 8
push eax
push edi
push esi
call fcn.00403878
jmp 0x425d7e
mov al, byte [esi + 2]
xor ecx, ecx
mov ch, 4
cmp al, 0x1f
je 0x425d68
cmp al, 0x29
je 0x425d68
mov ch, 0x19
cmp al, 0x26
jne 0x425d7e
push ecx
push ecx
push esi
call fcn.00403870
pop ecx
xor eax, eax
shr ecx, 8
mov byte [eax + esi], 4
inc ah
loop 0x425d76
nop
jmp 0x425dcb
cmp al, 0xc
jne 0x425da4
push 0x4000
push 0x2da3200
lea eax, [ebx - 0x22]
and eax, 0xf
shr ebx, 0xc
add eax, ebx
shl eax, 0xe
add eax, 0x29c615f
jmp 0x425dc5
cmp al, 6
jne 0x425dce
push 0x1000
push 0x2d7f1a8
movzx eax, bl
shl eax, 4
and bh, 0xf0
add ah, bh
shl eax, 8
add eax, 0x57f21b
push eax
call fcn.00403878
nop
jmp 0x425e0b
cmp al, 0xd
je 0x425e0b
cmp al, 0x12
jb 0x425c96
cmp al, 0x16
nop
ja 0x425c96
cmp al, 0x13
je 0x425deb
cmp al, 0x15
jne 0x425e0b
cmp bl, 0x15
ja 0x425e0b
or bl, bl
je 0x425e0b
or bl, 0xff
shl ebx, 8
add ebx, 0x57f21b
cmp byte [ebx], 0x1a
jne 0x425e0b
cmp byte [ebx + 2], 0
ja 0x425ddc
or dword [ebp - 0xc], 0xf
cmp dword [ebp - 8], 0x32
jae 0x425e1e
push 0x18
push edi
push esi
call fcn.00403878
popal
test byte [ebp - 0xc], 2
jbe 0x425f90
pushal
mov ecx, 0x2d7f0a8
mov esi, dword [ebp - 0x10]
test byte [ebp - 0xc], 1
jne 0x425e6c
xor edx, edx
cmp byte [esi + 1], dl
jne 0x425e4a
popal
call fcn.00421b70
jmp 0x4296fe
mov edi, 0x4ad074
movzx eax, byte [ecx]
cmp eax, 0x16
ja 0x425e5a
mov dl, byte [eax + edi]
movzx eax, byte [esi]
cmp eax, 0x16
ja 0x425e65
mov dh, byte [eax + edi]
cmp dl, dh
jne 0x425e3f
dec edx
js 0x425e3f
xor ebx, ebx
xor esi, esi
test byte [ebp - 0xc], 1
je 0x425ea8
cmp byte [ecx], 4
jne 0x425e9a
push 3
pop eax
mov dl, byte [ecx + 2]
cmp dl, 0x29
je 0x425e93
cmp dl, 0x1f
je 0x425e93
cmp dl, 0x26
jne 0x425e9a
add eax, 0x15
cmp byte [ecx + 8], bl
jne 0x425e9a
mov esi, eax
cmp byte [ecx], 6
jne 0x425ea8
mov ebx, dword [ebp - 0x18]
shr bh, 4
shl ebx, 4
mov edi, 0x157f21f
cmp word [edi + 3], 0
je 0x425ed8
and dword [ebp - 0xc], 0xf
or ebx, ebx
je 0x425ec8
movzx eax, word [edi]
mov edx, eax
sub eax, ebx
cmp eax, 0xf
jbe 0x425ecf
sub edx, dword [ebp - 0x18]
cmp edx, esi
ja 0x425ed8
or dword [ebp - 0xc], 0x10
and word [edi + 3], 0
add edi, 0xb
cmp edi, 0x1ffcadf
jb 0x425ead
or ebx, ebx
je 0x425eea
add esi, 0x10
mov dword [ebp - 8], esi
and dword [ebp + 0x14], 0
mov dword [ebp - 0x3c], ebx
xor edi, edi
xor ecx, ecx
imul eax, edi, 0x63
add eax, ecx
imul eax, eax, 8
add eax, 0x2d9e4a8
cmp word [eax], 0
je 0x425f7b
mov dword [ebp + 0x10], eax
mov ebx, dword [ebp + 0x14]
imul esi, ebx, 0xb
add esi, 0x157f21f
cmp word [esi + 3], 0
jne 0x425f72
mov eax, dword [ebp - 0x18]
add eax, edi
mov edx, dword [ebp - 0x3c]
or edx, edx
je 0x425f35
or edi, edi
je 0x425f35
lea eax, [edi + edx - 1]
mov word [esi], ax
mov byte [esi + 2], cl
push ecx
push 8
push dword [ebp + 0x10]
lea eax, [esi + 3]
push eax
call fcn.00403878
pop ecx
mov dword [ebp + 0x14], ebx
or edi, edi
jne 0x425f6d
cmp byte [esi + 5], 6
jbe 0x425f6d
mov eax, dword [ebp - 0x18]
shl eax, 8
cmp byte [eax + 0x57f21b], 4
je 0x425f6d
mov word [esi + 3], di
jmp 0x425f7b
inc dword [ebp + 0x14]
jmp 0x425f7b
inc ebx
cmp ebx, 0xf4240
jb 0x425f11
inc ecx
cmp ecx, 0x62
jbe 0x425ef8
inc edi
cmp edi, dword [ebp - 8]
jbe 0x425ef6
popal
test byte [ebp - 0xc], 4
jbe 0x4261d4
test byte [ebp - 0xc], 1
jne 0x426000
mov ecx, dword [ebp - 0x10]
cmp byte [ecx + 1], 0
jne 0x425fb3
call fcn.00421b70
jmp 0x4296fe
movzx eax, byte [0x2d7f0a8]
cmp eax, 0x1f
ja 0x425fc9
mov edx, 0x7d5418
bt edx, eax
jae 0x425fa9
movzx eax, byte [ecx]
cmp eax, 0x1f
ja 0x425fd6
bt edx, eax
jae 0x425fa9
cmp eax, 0x13
je 0x425fe0
cmp eax, 0x15
jne 0x426000
mov eax, dword [ebp - 0x18]
or al, al
je 0x426000
cmp al, 0x15
ja 0x426000
mov al, 0xff
shr eax, 8
add eax, 0x57f21b
cmp byte [eax], 0x1a
jne 0x426000
cmp byte [eax + 2], 0
je 0x425fa9
push 0x260
push 0x570ea4
call fcn.00403870
pushal
xor ebx, ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 4], ebx
test byte [ebp - 0xc], 1
je 0x426054
mov ecx, 0x2d7f0a8
cmp byte [ecx], 4
jne 0x426046
mov al, 3
mov ah, byte [ecx + 2]
cmp ah, 0x1f
je 0x42603e
cmp ah, 0x29
je 0x42603e
mov al, 0x18
cmp ah, 0x26
jne 0x426046
cmp byte [ecx + 8], bl
jne 0x426046
mov byte [ebp - 8], al
cmp byte [ecx], 6
jne 0x426054
mov ebx, dword [ebp - 0x18]
shr ah, 4
shl eax, 4
xor edi, edi
lea esi, [edi + edi*4 + 0x1ffcadf]
cmp dword [esi], 0
je 0x4260aa
and dword [ebp - 0xc], 0xf
or ebx, ebx
je 0x426075
cmp dword [esi], ebx
jb 0x426075
lea eax, [ebx + 0xf]
cmp dword [esi], eax
jbe 0x426083
mov eax, dword [ebp - 0x18]
cmp dword [esi], eax
jb 0x426089
add eax, dword [ebp - 8]
cmp dword [esi], eax
ja 0x426089
or dword [ebp - 0xc], 0x10
jmp 0x4260a1
mov eax, dword [ebp - 4]
cmp eax, edi
je 0x42609e
lea edx, [eax + eax*4 + 0x1ffcadf]
lodsd eax, dword [esi]
mov dword [edx], eax
lodsb al, byte [esi]
mov byte [edx + 4], al
inc dword [ebp - 4]
inc edi
cmp edi, 0x1e8480
jb 0x426056
mov esi, dword [ebp - 0x10]
cmp byte [esi], 3
jne 0x4260ba
mov eax, dword [ebp - 0x18]
call fcn.004182d4
cmp dword [ebp - 0x3c], 0
je 0x4260c4
add dword [ebp - 8], 0x10
xor ebx, ebx
xor edi, edi
and dword [ebp - 0x34], 0
imul eax, edi, 0x130
add eax, dword [ebp - 0x34]
bt dword [0x570ea4], eax
jb 0x426130
movzx eax, bh
shl eax, 4
add eax, edi
imul eax, eax, 0x130
add eax, dword [ebp - 0x34]
mov bl, byte [eax + 0x2d809a8]
movzx ecx, byte [esi]
or bl, bl
je 0x426130
dec bl
test bl, 0x10
je 0x426118
cmp ecx, 4
jne 0x426115
cmp byte [esi + 0x14], ch
jne 0x426115
mov eax, dword [esi + 9]
or eax, dword [esi + 0xd]
js 0x426118
and bl, 0xef
test bl, 0x20
je 0x426133
or bh, bh
jne 0x426164
cmp ecx, 0x1f
ja 0x426130
mov eax, 0x7d4410
bt eax, ecx
jb 0x426164
nop
jmp 0x42619a
cmp ecx, 0x1f
ja 0x426164
mov eax, 0x704400
bt eax, ecx
jb 0x42619a
or bh, bh
jne 0x426164
cmp ecx, 4
jne 0x426164
mov eax, dword [esi + 2]
cmp al, 0x21
je 0x42619a
cmp al, 0x24
je 0x42619a
cmp al, 0x28
je 0x42619a
cmp al, 0x1e
jne 0x426164
cmp dword [esi + 9], 0
jl 0x42619a
or bl, bl
je 0x42619a
mov eax, dword [ebp - 4]
lea ecx, [eax + eax*4 + 0x1ffcadf]
mov byte [ecx + 4], bl
mov eax, edi
shl eax, 0xc
add eax, dword [ebp - 0x34]
shl eax, 0x10
mov al, bh
mov edx, dword [ebp - 0x18]
or al, al
je 0x426193
cmp dword [ebp - 0x3c], 0
je 0x426193
mov edx, dword [ebp - 0x3c]
dec edx
add eax, edx
mov dword [ecx], eax
inc dword [ebp - 4]
inc dword [ebp - 0x34]
cmp word [ebp - 0x34], 0x130
jb 0x4260cc
inc edi
cmp edi, 0xf
jbe 0x4260c8
inc bh
cmp bh, byte [ebp - 8]
jbe 0x4260c6
imul edi, dword [ebp - 4], 5
mov ecx, 0x989680
sub ecx, edi
add edi, 0x1ffcadf
xor eax, eax
rep stosb byte es:[edi], al
popal
test byte [ebp - 0xc], 8
jbe 0x426290
pushal
mov edi, dword [ebp - 0x10]
mov esi, 0x2d7f0a8
test byte [ebp - 0xc], 1
jne 0x42623f
cmp byte [edi + 1], 0
je 0x426208
mov eax, 0x3ff7cfa
movzx edx, byte [edi]
bt eax, edx
jae 0x426208
movzx ecx, byte [esi]
bt eax, ecx
jb 0x426213
popal
call fcn.00421b70
jmp 0x4296fe
mov ebx, dword [ebp - 0x18]
cmp edx, 0x13
je 0x426220
cmp edx, 0x15
jne 0x42623f
mov eax, ebx
or al, al
je 0x42623f
cmp al, 0x15
ja 0x42623f
mov al, 0xff
shl eax, 8
add eax, 0x57f21b
cmp byte [eax], 0x1a
jne 0x42623f
cmp byte [eax + 2], 0
ja 0x426208
add esi, 0x18
add edi, 0x18
push 0x54
pop ecx
cmp byte [esi], 0
jne 0x426265
cmp byte [edi], 1
je 0x42625c
mov eax, 0x3802020
bt eax, edx
jne 0x426261
add esi, 1
jmp 0x426268
mov cl, 0xa9
jmp 0x42626b
add esi, 0x55
add edi, 0x55
rep movsb byte es:[edi], byte [esi]
shr ebx, 0xc
xor eax, eax
cdq
bts edx, ebx
mov dword [0x571118], edx
call fcn.0041359c
popal
jmp 0x426290
call fcn.00421b70
jmp 0x426290
call fcn.00421b70
call fcn.00407ca4
call fcn.00413e40
call fcn.004136fc
mov ax, 6
call fcn.004222e8
jmp 0x4296fe
cmp dword [ebp - 0x18], 0xffffffff
je 0x4264d9
movzx eax, byte [0x4ad264]
mov edx, eax
shl eax, 4
add eax, edx
add eax, 0x57f0a9
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x18]
shl eax, 5
movzx eax, byte [eax*8 + 0x57f21b]
mov dword [ebp - 4], eax
mov edx, dword [ebp - 8]
cmp byte [edx + 0x10], 3
je 0x426484
cmp eax, 0x11
jne 0x42631e
mov edx, dword [ebp - 8]
mov al, 1
cmp byte [edx + 0x10], 2
je 0x426319
push 9
pop eax
cmp byte [eax + edx], ah
je 0x426311
mov eax, 0x9606ac
mov dl, 0x21
call fcn.0041d43c
jmp 0x42631e
inc eax
cmp eax, 0xe
jbe 0x4262fe
mov al, 2
call fcn.00424760
cmp dword [ebp - 4], 1
jne 0x426484
mov eax, 0x145
call fcn.00422088
mov cx, 1
mov edx, 0x5a0186
mov eax, 0x1450001
call fcn.00429850
mov dx, 0x86af
mov eax, dword [ebp - 0x14]
call fcn.00421e64
mov edx, dword [ebp - 0x18]
and edx, 0xff
movzx edx, dx
inc edx
sub edx, 3
call fcn.00421cf0
push eax
mov eax, dword [0x5750d2]
push eax
call fcn.00403bd8
mov cx, 0x6b0
mov edx, 0x2f0014
mov eax, 0x2620145
call fcn.00429b38
push 0x2630145
push 0x2d00b4
push 0x19000c8
push 0x1e06b2
call fcn.00429c54
push 0x1490145
push 0x530050
push 0x140050
push 0x10036
push 1
call fcn.00429ba0
push 0x1470145
push 0x5300c8
push 0x140050
push 0x20037
push 2
call fcn.00429ba0
push 0x1480145
push 0x53012c
push 0x140050
push 0x30035
push 0x101
call fcn.00429ba0
mov eax, 0x422b88
mov dword [0x57512a], eax
pushal
mov eax, dword [ebp - 0x18]
mov word [0x2dba9dc], ax
push 3
pop ebx
mov esi, dword [ebp - 8]
cmp bl, byte [ebp - 0x18]
je 0x42645e
mov eax, dword [ebp - 0x14]
lea edx, [ebx - 2]
neg edx
call fcn.00421cf0
mov edx, 0x280020
call fcn.00421ec0
movzx ecx, byte [ebx + esi]
mov dx, 0x6b1
jecxz 0x426447
lea edx, [ecx + 0x655]
cmp ecx, 4
jbe 0x426447
mov edx, dword [ecx*2 + 0x4ad08a]
and dh, 0x7f
call fcn.00421e64
mov dl, 0x29
call fcn.00421ed0
mov edx, eax
mov ax, 0x263
call fcn.00421d2c
inc ebx
mov al, 8
cmp byte [esi + 0x10], 1
jne 0x426469
mov al, 0xe
cmp bl, al
jbe 0x42640c
mov eax, 0x263
cdq
call fcn.00421d78
mov ax, 0x145
mov dl, 1
call fcn.00421f94
popal
mov eax, dword [ebp - 0x18]
shl eax, 8
add eax, 0x57f21b
movzx edx, byte [eax]
cmp edx, 0x1f
ja 0x4264d9
mov ecx, 0x14420
bt ecx, edx
jb 0x4264c0
mov ecx, 0x8840058
bt ecx, edx
jae 0x4264b1
test byte [eax + 1], 1
jne 0x4264c0
cmp edx, 0x13
jb 0x4264d9
cmp edx, 0x16
ja 0x4264d9
cmp dh, byte [eax + 0x18]
jne 0x4264d9
push eax
call fcn.00421a8c
pop eax
btc dword [eax + 1], 2
push 6
pop eax
call fcn.004222e8
jmp 0x4296fe
cmp dword [ebp - 0x2c], 0x144
jne case.0x424994.515
mov word [ebp + 0x12], 1
call fcn.00423858
jmp 0x4296fe
mov eax, dword [ebp - 0x40]
cmp byte [eax + 0x11], 0x51
jne 0x4265d0
movzx ecx, word [ebp + 0x14]
mov eax, ecx
mov ebx, 0x28
xor edx, edx
div ebx
test edx, edx
je 0x4296fe
mov eax, dword [ebp + 0x14]
shr eax, 0x10
mov ebx, 0x19
cdq
idiv ebx
test edx, edx
je 0x4296fe
mov eax, ecx
mov ecx, 0x28
xor edx, edx
div ecx
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x14]
shr eax, 0x10
mov ecx, 0x19
cdq
idiv ecx
mov ebx, eax
mov dword [ebp - 0xc], ebx
mov edx, ebx
add edx, 0x80
mov eax, dword [ebp - 8]
add eax, eax
add eax, eax
add eax, eax
add edx, eax
mov eax, 0x2dbaae0
call fcn.0042185c
test al, al
jne 0x4296fe
mov edx, dword [ebp - 8]
add edx, edx
add edx, edx
add edx, edx
add edx, dword [ebp - 0xc]
mov eax, 0x2dbaae0
call fcn.0042185c
test al, al
je 0x4265a8
mov edx, dword [ebp - 8]
add edx, edx
add edx, edx
add edx, edx
add edx, dword [ebp - 0xc]
mov eax, 0x2dbaae0
call fcn.00421858
jmp 0x4265be
mov edx, dword [ebp - 8]
add edx, edx
add edx, edx
add edx, edx
add edx, dword [ebp - 0xc]
mov eax, 0x2dbaae0
call fcn.00421854
mov ax, 0x358
call fcn.004222e8
mov ax, 0x365
call fcn.004222e8
pushal
mov esi, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x2c]
mov al, byte [esi + 0x11]
cmp al, 0x4d
jne 0x426614
movzx eax, word [ebp + 0x14]
cdq
lea ecx, [edx + 0x39]
div ecx
or edx, edx
je 0x426690
mov edi, eax
movzx eax, word [ebp + 0x16]
cdq
mov cl, 0x1c
div ecx
or edx, edx
je 0x426690
shl eax, 4
add eax, edi
add eax, dword [esi + 0x25]
btc dword [0x4c42c8], eax
jmp 0x426682
sub al, 0x4b
cmp al, 1
ja 0x4266d3
jb 0x426624
rol dword [ebp + 0x14], 0x10
cmp dword [esi + 0x12], 0
je 0x4266d3
mov edi, 0x4ad254
mov eax, esi
lea edx, [ebp - 0xc]
call fcn.00422a58
movsx eax, word [ebp + 0x16]
cmp eax, 0x13
jae 0x42665e
cmp dword [esi + 0x25], 0
je 0x426690
mov byte [esi + 0x2f], 0
dec dword [esi + 0x25]
je 0x426682
inc byte [esi + 0x2f]
mov byte [edi + 2], 1
jmp 0x42667f
cmp eax, dword [ebp - 4]
jbe 0x426696
mov eax, dword [esi + 0x12]
cmp dword [esi + 0x25], eax
jae 0x426690
inc dword [esi + 0x25]
mov byte [esi + 0x2f], 0
cmp eax, dword [esi + 0x25]
je 0x426682
mov byte [esi + 0x2f], 2
mov byte [edi + 2], 2
mov word [edi], bx
mov eax, ebx
call fcn.004222e8
mov eax, ebx
call fcn.004217bc
popal
jmp 0x4296fe
cmp eax, dword [ebp - 8]
jb 0x426690
cmp eax, dword [ebp - 0xc]
ja 0x426690
movsx eax, word [ebp + 0x14]
dec eax
cmp eax, 0x11
jae 0x426690
mov word [edi], bx
mov byte [esi + 0x2f], 4
mov byte [edi + 2], 4
mov eax, dword [esi + 0x25]
mov dword [edi + 4], eax
mov eax, dword [ebp + 0x16]
mov word [edi + 8], ax
mov eax, ebx
call fcn.004222e8
push dword [esi + 0xc]
call fcn.00403b40
jmp 0x426690
popal
test byte [ebp - 0x47], 2
jbe 0x4268b7
mov eax, dword [ebp + 8]
mov dword [ebp + 0x14], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x18], eax
call fcn.004237f0
or eax, eax
js 0x4296fe
mov dword [ebp - 0x18], eax
mov ecx, 0x57f21b
shl eax, 8
or ah, ah
je 0x426734
cmp ah, 0x15
ja 0x426734
mov dl, byte [ecx + eax]
cmp dl, 0x13
je 0x426718
cmp dl, 0x15
jne 0x426734
mov edx, eax
mov dh, 0xff
mov edx, dword [ecx + edx]
cmp dl, 0x1a
jne 0x426734
bswap edx
or dh, dh
je 0x426734
call fcn.00421b70
jmp 0x4296fe
mov ah, byte [ebp - 0x18]
add eax, ecx
pushal
mov esi, 0x2d7f0a8
push 0x1900
push eax
push esi
call fcn.00403878
xor eax, eax
mov edi, edi
cmp byte [esi], 4
jne 0x426771
cmp al, byte [esi + 8]
jne 0x426771
mov dl, byte [esi + 2]
mov dh, 0x18
cmp dl, 0x26
je 0x42676f
mov dh, 3
cmp dl, 0x29
je 0x42676f
cmp dl, 0x1f
jne 0x426771
mov al, dh
mov dword [ebp - 0xc], eax
cmp byte [esi], 6
jne 0x42679d
mov ebx, dword [ebp - 0x18]
shr bh, 4
shl ebx, 4
mov edi, ebx
push 0x1000
shl ebx, 8
add ebx, 0x57f21b
push ebx
push 0x2d7f1a8
call fcn.00403878
cmp byte [esi], 0xc
jne 0x4267cb
push 0x4000
mov eax, dword [ebp - 0x18]
lea edx, [eax - 0x22]
and edx, 0xf
shr eax, 0xc
imul eax, eax, 0xa
add eax, edx
shl eax, 0xe
add eax, 0x29c615f
push eax
push 0x2da3200
call fcn.00403878
push 0x1db00
push 0x2d809a8
call fcn.00403870
xor ebx, ebx
mov esi, 0x1ffcadf
cmp dword [esi], 0
je 0x426812
movzx eax, word [esi]
sub eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0xc]
call fcn.00426892
or edi, edi
je 0x426806
movzx eax, word [esi]
sub eax, edi
cmp eax, 0xf
inc eax
call fcn.00426892
add esi, 5
inc ebx
cmp ebx, 0x1e8480
jb 0x4267e1
push 0x4d58
push 0x2d9e4a8
call fcn.00403870
xor ebx, ebx
mov esi, 0x157f21f
cmp word [esi + 3], 0
je 0x42683d
movzx eax, word [esi]
sub eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0xc]
call fcn.00426872
or edi, edi
je 0x42684f
movzx eax, word [esi]
sub eax, edi
cmp eax, 0xf
inc eax
call fcn.00426872
add esi, 0xb
inc ebx
cmp ebx, 0xf4240
jb 0x426828
popal
mov ax, 0x169
mov dl, 1
call fcn.00421b30
dec eax
call fcn.00421b30
jmp 0x4296fe
pushal
mov edi, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x2c]
mov al, byte [edi + 0x11]
cmp al, 0x3b
movsx edx, word [ebp + 0x16]
movzx esi, byte [edi + 0x30]
movzx ecx, byte [edi + 0x2f]
jne 0x4268db
mov eax, edx
movsx edx, word [ebp + 0x14]
xchg ecx, esi
jmp 0x4268e3
cmp al, 0x3a
jne 0x42695c
movsx eax, word [ebp + 0x14]
sub eax, 3
js 0x426931
cmp edx, 3
jl 0x426931
dec esi
cmp edx, esi
jg 0x426931
cdq
idiv ecx
sub ecx, 3
cmp edx, ecx
jg 0x426931
movzx ecx, byte [edi + 0x31]
cmp eax, ecx
jae 0x426931
cmp bx, 0x43
jne 0x42691b
push eax
push 0
push dword [0x57613a]
call fcn.00403bb8
pop edx
add eax, edx
cmp al, byte [edi + 0x2e]
je 0x426931
cmp bx, 0x43
je 0x426937
bt dword [edi + 0x12], eax
jae 0x426937
call fcn.00421b70
nop
jmp 0x4269bb
mov byte [edi + 0x2e], al
mov eax, ebx
call fcn.004222e8
mov ecx, dword [edi + 4]
mov eax, ebx
jecxz 0x42694a
call ecx
mov ax, 1
cmp bx, 7
je 0x42699e
cmp bx, 5
jne 0x4269bb
jmp 0x42699e
cmp al, 0x34
jne 0x426967
call fcn.00424530
jmp 0x426979
cmp al, 0x35
jne 0x4269c1
pushal
mov eax, edi
call fcn.00422b64
popal
call fcn.00424580
mov al, byte [edi + 0x2e]
mov byte [edi + 0x30], al
cmp dword [ebp + 0x10], 0xffffffff
jne 0x42698c
call fcn.004245b8
jmp 0x4269bb
mov al, byte [edi + 0x2e]
mov byte [edi + 0x2f], al
call fcn.00403b18
cmp eax, dword [ebp + 8]
jne 0x4269a5
mov eax, ebx
call fcn.004222e8
jmp 0x4269ad
push dword [ebp + 8]
call fcn.00403b28
cmp byte [edi + 0x11], 0x34
jne 0x4269bb
push dword [ebp + 8]
call fcn.00403b40
popal
jmp 0x4296fe
popal
jmp case.0x424994.515
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [eax + 0x14]
call fcn.00422304
mov dword [ebp - 0x18], eax
imul eax, eax, 0x32
add eax, 0x57114c
mov dword [ebp - 0x10], eax
pop edx
mov eax, dword [edx + 0x24]
sub eax, dword [edx + 0x1c]
mov dword [ebp - 0x20], eax
mov eax, dword [edx + 0x28]
sub eax, dword [edx + 0x20]
mov dword [ebp - 0x1c], eax
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 4
jne 0x427072
pushal
push 0x7f
push dword [ebp - 0x14]
mov ebx, dword [ebp + 0x14]
push dword [ebx + 0x14]
call fcn.00403be0
mov ebx, dword [ebx + 0x10]
mov edi, dword [ebp - 0x10]
push ebp
mov al, byte [edi + 0x11]
cmp al, 2
jne 0x426ae6
mov eax, 0xc0c0c0
test bl, 4
jne 0x426a38
mov eax, 0xe0e0e0
call fcn.00423a14
mov esi, dword [ebp - 0x30]
add esi, 0xc
test bl, 0x10
je 0x426a61
mov dword [esi], 0xc00000
push 0
push 0
mov eax, dword [ebp - 0x20]
dec eax
push eax
mov eax, dword [ebp - 0x1c]
dec eax
push eax
call fcn.004239ac
mov edi, 0x30003
test bl, 1
je 0x426a8b
mov dword [esi], 0xffc0c0
push 1
push 1
mov eax, dword [ebp - 0x20]
dec eax
dec eax
push eax
mov eax, dword [ebp - 0x1c]
dec eax
dec eax
push eax
call fcn.004239ac
mov edi, 0x40004
test bl, 4
je 0x426a97
lea eax, [di + 0x4000]
jmp 0x426ac3
mov dword [esi], 0xc0c0c0
mov ebx, fcn.00423adc
xor eax, eax
cdq
call ebx
mov eax, dword [ebp - 0x20]
dec eax
xor edx, edx
call ebx
mov edx, dword [ebp - 0x1c]
dec edx
xor eax, eax
call ebx
mov eax, dword [ebp - 0x20]
dec eax
mov edx, dword [ebp - 0x1c]
dec edx
call ebx
mov eax, edi
mov edx, 0x4a6d9c
jmp 0x426b54
cmp al, 0xf
jne 0x426b63
xor eax, eax
call fcn.00423a14
mov esi, dword [ebp - 0x30]
add esi, 8
mov dword [esi], 0xffffff
mov eax, dword [ebp - 0x18]
cmp ax, word [0x57ed64]
jne 0x426b0f
mov dword [esi], 0xffb000
test bl, 4
je 0x426b27
mov dword [esi], 0xc0c0c0
xor eax, eax
call fcn.00426acd
mov dword [esi], 0x606060
or eax, 0xffffffff
call fcn.00426acd
xor eax, eax
mov edx, dword [edi + 0x2a]
or edx, edx
je 0x426b59
cmp ax, word [0x57ed64]
jne 0x426b43
mov ah, 0x80
test bl, 4
je 0x426b4a
mov ah, 0x40
test bl, 1
je 0x426b54
mov eax, 0x18001
call fcn.004243ac
call fcn.00423ac8
call fcn.00423ad0
pop eax
popal
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x11], 1
ja 0x426d34
cmp dword [ebp - 0x18], 0x2c2
jl 0x426c01
cmp dword [ebp - 0x18], 0x2c9
jg 0x426c01
movzx eax, word [ebp - 0x18]
cmp ax, word [0x57ed64]
jne 0x426bc0
mov eax, 0xfff0f0
call fcn.00423a14
mov eax, dword [ebp - 0x30]
mov dword [eax + 0xc], 0xc00000
push ebp
push 0
push 0
mov eax, dword [ebp - 0x20]
dec eax
push eax
mov eax, dword [ebp - 0x1c]
dec eax
push eax
call fcn.004239ac
pop ecx
jmp 0x426bca
mov eax, 0xffffff
call fcn.00423a14
mov eax, dword [ebp + 0x14]
test dword [eax + 0x10], 4
jbe 0x426be0
mov eax, dword [ebp - 0x30]
mov dword [eax + 8], 0xc0c0c0
mov edx, dword [ebp - 0x1c]
sub edx, 0xf
shr edx, 1
mov eax, 8
call fcn.00423d0c
call fcn.00423ac8
call fcn.00423ad0
jmp 0x4296fe
pushal
mov eax, dword [ebp + 0x14]
mov ebx, dword [eax + 0x10]
push ebp
mov eax, 0xc0c0c0
test bl, 4
jne 0x426c18
mov eax, 0xffffff
call fcn.00423a14
mov edi, dword [ebp - 0x30]
add edi, 0xc
and dword [edi], 0
test bl, 0x10
je 0x426c2f
mov byte [edi + 2], 0xc0
test bl, 4
je 0x426c3a
mov dword [edi], 0x808080
push 0
push 0
mov eax, dword [ebp - 0x20]
dec eax
push eax
mov esi, dword [ebp - 0x1c]
dec esi
push esi
call fcn.004239ac
dec esi
mov eax, dword [ebp - 0x18]
cmp ax, word [0x57ed64]
jne 0x426c70
mov dword [edi], 0xfff0f0
push 1
push 1
mov eax, dword [ebp - 0x20]
dec eax
dec eax
push eax
push esi
call fcn.004238fc
test bl, 1
je 0x426c8b
mov dword [edi], 0xffc0c0
push 1
push 1
mov eax, dword [ebp - 0x20]
dec eax
dec eax
push eax
push esi
call fcn.004239ac
mov dword [edi], 0xc0c0c0
lea edx, [esi + 1]
xor eax, eax
mov esi, fcn.00423adc
call esi
mov eax, dword [ebp - 0x20]
dec eax
xor edx, edx
call esi
xor eax, eax
cdq
call esi
mov eax, dword [ebp - 0x20]
dec eax
mov edx, dword [ebp - 0x1c]
dec edx
call esi
mov esi, dword [ebp - 0x1c]
sub esi, 0xf
shr esi, 1
mov al, 1
call fcn.00423db0
neg eax
add eax, dword [ebp - 0x20]
shr eax, 1
bts eax, 0x18
mov dword [ebp - 0x34], eax
add edi, 0xfffffffc
test bl, 4
je 0x426cf3
mov dword [edi], 0x808080
mov eax, dword [ebp - 0x34]
lea edx, [esi + 1]
inc eax
call fcn.00423d0c
mov dword [edi], 0xe0e0e0
jmp 0x426d1e
and dword [edi], 0
test bl, 0x10
je 0x426cff
mov byte [edi + 2], 0xc0
test bl, 1
je 0x426d1e
mov dword [edi], 0xffc0c0
mov eax, dword [ebp - 0x34]
mov edx, esi
call fcn.00423d0c
inc dword [ebp - 0x34]
inc esi
mov dword [edi], 0xc00000
mov eax, dword [ebp - 0x34]
mov edx, esi
call fcn.00423d0c
call fcn.00423ac8
call fcn.00423ad0
pop eax
popal
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0x11]
cmp al, 5
jb 0x426e69
cmp al, 7
ja 0x426e69
pushal
push ebp
mov eax, 0x808080
call fcn.00423a14
mov eax, dword [ebp + 0x14]
mov ebx, dword [eax + 0x10]
mov eax, dword [ebp - 0x18]
cmp ax, word [0x57ed64]
sete bh
mov edi, dword [ebp - 0x30]
add edi, 0xc
mov esi, fcn.004239ac
test bl, 1
je 0x426d90
mov dword [edi], 0xc00000
push 0
push 0
mov eax, dword [ebp - 0x20]
dec eax
push eax
mov eax, dword [ebp - 0x1c]
dec eax
push eax
call esi
mov eax, dword [ebp - 0x10]
mov al, byte [eax + 0x11]
cmp al, 6
jne 0x426dcb
and dword [edi], 0
push 3
push 0x10
push 0xb
push 0x14
call esi
call fcn.00426dbb
push 4
push 0x11
push 0xa
push 0x13
call fcn.004238fc
jmp 0x426dee
cmp al, 5
jne 0x426df1
mov edx, 0x4a6c5c
or bh, bh
je 0x426ddd
mov edx, 0x4a6b1c
test bl, 1
je 0x426de7
mov edx, 0x4a69dc
xor eax, eax
call fcn.004243ac
nop
jmp 0x426e5d
call fcn.00426dbb
push 4
cmp byte [0x4ad268], 0
jne 0x426e1f
push 4
push 0x13
push 0x13
call esi
push 5
push 5
push 0x12
push 0x12
call esi
push 6
push 6
push 0x11
push 7
call esi
jmp 0x426e5d
push 9
push 0xe
push 0x13
call esi
push 5
push 0xa
push 0xc
call fcn.0042396c
push 9
push 4
push 0x13
push 5
call esi
push 9
push 6
push 7
call fcn.0042398c
push 0x13
push 6
push 0xe
call fcn.0042398c
push 0x10
push 0xe
push 0x12
call fcn.0042396c
call fcn.00423ac8
call fcn.00423ad0
pop eax
popal
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0x11]
cmp al, 0xa
jb 0x427072
cmp al, 0xd
ja 0x427072
mov eax, 0xc0c0c0
call fcn.00423a14
pushal
mov eax, dword [ebp + 0x14]
mov ebx, dword [eax + 0x10]
mov edi, dword [ebp - 0x30]
add edi, 0xc
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x11], 0xd
jne 0x426f35
test bl, 4
jne 0x426ed2
mov edx, 0xffffff
movzx eax, word [0x57ed64]
cmp eax, dword [ebp - 0x18]
jne 0x426ebe
mov dx, 0xf0f0
mov dword [edi], edx
push ebp
push 1
push 1
mov eax, dword [ebp - 0x1c]
dec eax
dec eax
push eax
push eax
call fcn.004238fc
pop eax
and dword [edi], 0
mov esi, 0x4a6960
test bl, 0x10
je 0x426eea
mov esi, 0x4a6858
mov dword [edi], 0xc00000
test bl, 4
je 0x426efa
mov esi, 0x4a67dc
mov dword [edi], 0x808080
push ebp
push 0
push 0
mov eax, dword [ebp - 0x1c]
dec eax
push eax
push eax
call fcn.004239ac
pop eax
test bl, 1
je 0x426f71
mov dword [edi], 0xffc0c0
push ebp
push 1
push 1
mov eax, dword [ebp - 0x1c]
dec eax
dec eax
push eax
push eax
call fcn.004239ac
pop eax
mov esi, 0x4a68d4
mov dword [edi], 0xe08080
jmp 0x426f71
xor eax, eax
cdq
test bl, 4
setne al
test bl, 0x10
je 0x426f45
mov al, 2
test bl, 1
je 0x426f4c
mov al, 3
mov esi, dword [eax*4 + 0x4ad34c]
movzx ecx, word [0x57ed64]
cmp ecx, dword [ebp - 0x18]
jne 0x426f61
mov dl, 0x10
push ebp
mov edx, dword [edx + eax*4 + 0x4ad32c]
xor eax, eax
call fcn.004243ac
pop eax
mov eax, dword [ebp - 0x10]
test byte [eax + 0x18], 1
je 0x426f8a
push ebp
mov edx, esi
xor eax, eax
call fcn.004243ac
pop eax
jmp 0x42700f
cmp byte [0x2dba9e0], 0xc
jne 0x42700f
mov ebx, dword [ebp - 0x18]
sub bx, 0x16c
cmp ebx, 0xe
ja 0x42700f
mov ecx, dword [0x57583e]
jecxz 0x426fb2
push 1
push ecx
call fcn.00403bb8
add ebx, eax
mov eax, dword [0x57ed4c]
mov bx, word [eax + ebx*2]
mov ax, 0x180
call fcn.00421ef4
xor eax, 1
shl eax, 0xd
add eax, dword [0x57ed48]
bt dword [eax], ebx
jae 0x42700f
cmp dword [edi], 0
jne 0x426fe0
mov dword [edi], 0xa0a0a0
cmp dword [edi], 0xc00000
jne 0x426fee
mov dword [edi], 0xffc0c0
xor esi, esi
inc esi
xor ebx, ebx
inc ebx
mov eax, ebx
xor eax, esi
shr eax, 1
jae 0x427005
mov eax, esi
mov edx, ebx
call fcn.00423adc
cmp ebx, 0xe
jb 0x426ff3
cmp esi, 0xe
jb 0x426ff0
popal
pushal
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x10]
mov esi, 0x1000014
mov edi, dword [ebp - 0x30]
add edi, 8
test al, 4
je 0x427033
mov dword [edi], 0x808080
push 0xe0e0e0
jmp 0x42704d
xor ecx, ecx
mov edx, 0xc00000
test al, 0x10
jne 0x427040
mov ecx, edx
test al, 1
je 0x42705c
mov ecx, edx
push ecx
mov dword [edi], 0xffc0c0
push ebp
xor edx, edx
inc edx
lea eax, [edx + esi]
call fcn.00423d0c
pop eax
pop dword [edi]
mov eax, esi
xor edx, edx
push ebp
call fcn.00423d0c
pop eax
popal
call fcn.00423ac8
call fcn.00423ad0
mov eax, dword [ebp + 0x14]
cmp dword [eax], 5
jne 0x428e2a
lea esi, [eax + 0x1c]
lea edi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x11], 0x52
jne 0x427285
mov eax, dword [0x571104]
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x1c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x20]
mov dword [eax], edx
mov dword [eax + 0xc], 0xfffffc
push eax
call fcn.00423a00
pop ecx
xor eax, eax
mov dword [ecx + 8], eax
cdq
mov dword [ebp + 0x10], eax
bt dword [0x2dbaae0], eax
jb 0x4270c9
inc edx
inc al
jns 0x4270bf
mov dword [ebp - 0xc], edx
pushal
imul esi, dword [ebp + 0x10], 0xeb
push ebp
cmp dword [ebp - 0xc], 0
je 0x427194
push 0x400
push 0x4bff0c
call fcn.00403870
mov ax, 0x361
call fcn.00421d94
mov edi, eax
mov ax, 0x363
call fcn.00421d94
cmp eax, edi
jae 0x42710b
xchg edi, eax
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x18], eax
xor ebx, ebx
bt dword [0x2dbaae0], ebx
jb 0x427145
mov edx, edi
imul ecx, edx, 0x408
add ecx, dword [0x4c42a8]
cmp byte [ebp + 0x10], bh
jne 0x427130
inc ecx
movzx eax, byte [ecx + ebx*2 + 0x14131]
inc dword [eax*4 + 0x4bff0c]
inc edx
cmp edx, dword [ebp - 0x18]
jbe 0x42711e
inc bl
jns 0x427113
neg edi
add edi, dword [ebp - 0x18]
inc edi
imul edi, dword [ebp - 0xc]
mov eax, dword [ebp - 0x30]
mov dword [eax + 0xc], 0xc000
xor ebx, ebx
mov eax, dword [ebx*4 + 0x4bff0c]
or eax, eax
je 0x427190
imul eax, eax, 0x64
cdq
add eax, eax
div edi
or eax, eax
jne 0x427177
inc eax
lea ecx, [ebx + ebx*2 + 0x2c]
push ecx
neg eax
lea edx, [si + 0xd3]
add eax, edx
push eax
inc ecx
inc ecx
push ecx
dec edx
push edx
call fcn.004238fc
inc bl
jne 0x42715f
mov edi, fcn.00423d0c
xor ebx, ebx
mov eax, dword [ebp - 0x30]
mov dword [eax + 0xc], ebx
cmp ebx, 5
ja 0x4271dc
mov eax, dword [ebp - 0x14]
and dword [eax], 0
imul edx, ebx, 0x14
call fcn.00421cf0
xor eax, eax
call fcn.00423db0
neg eax
add eax, 0x26
push 0x28
imul edx, ebx, 0xffffffd8
lea edx, [esi + edx + 0xd3]
push edx
add edx, 0xfffffff8
call edi
push 0x32d
call fcn.0042396c
mov eax, 0xbac48
mul ebx
mov ecx, 0x3733
div ecx
add eax, 0x2c
mov dword [ebp - 8], eax
push eax
push esi
lea eax, [si + 0xd6]
push eax
call fcn.0042398c
mov eax, dword [ebp - 0x14]
and dword [eax], 0
mov edx, ebx
call fcn.00421cf0
xor eax, eax
call fcn.00423db0
shr eax, 1
neg eax
add eax, dword [ebp - 8]
lea edx, [si + 0xd9]
call edi
inc ebx
cmp ebx, 0xe
jbe 0x4271a1
pop eax
mov ebx, fcn.00421e64
mov eax, dword [ebp - 0x14]
push eax
mov dx, 0x831a
call ebx
push 0xa
pop eax
lea edx, [esi + 0x17]
call edi
pop eax
push eax
mov dx, 0x86c3
call ebx
mov eax, 0x2fb
lea edx, [si + 0xda]
call edi
pop eax
mov dx, 0x86c2
call ebx
mov edx, dword [ebp + 0x10]
inc edx
call fcn.00421cf0
lea eax, [esi + 0x400000aa]
push 2
pop edx
call edi
xor dword [ebp + 0x10], 1
jne 0x4270d1
popal
call fcn.00423ac8
jmp 0x4296fe
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x11], 0x51
jne 0x4273d2
pushal
mov esi, dword [0x571104]
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x20]
mov dword [esi], eax
mov ax, 0x33d
call fcn.0042236c
add eax, 6
bt dword [0x4c3299], eax
setb byte [ebp - 0xc]
push ebp
xor edi, edi
xor ebx, ebx
lea ecx, [edi + ebx*8]
mov dword [ebp - 4], ecx
mov eax, 0xff0000
mov edx, 0xf0f000
bt dword [0x2dbaae0], ecx
jae 0x4272e6
mov eax, 0xf0fff0
mov edx, 0x606060
bt dword [0x2dbaaf0], ecx
jae 0x4272f4
mov eax, 0xc0c0c0
mov dword [esi + 0xc], eax
mov dword [esi + 8], edx
imul edx, ebx, 0x28
imul eax, edi, 0x19
push edx
push eax
add edx, 0x27
push edx
add eax, 0x18
push eax
call fcn.004238fc
mov eax, dword [ebp - 0x14]
push 0xffffffffffffffff
pop edx
sub edx, dword [ebp - 4]
call fcn.00421cf0
cmp bh, byte [ebp - 0xc]
jne 0x42733b
mov dl, 0x61
cmp ebx, 8
jb 0x427336
push 0x3f
pop edx
sub edx, dword [ebp - 4]
call fcn.00421cf0
mov dl, 0x62
call fcn.00421ed0
cmp byte [esi + 0xc], 0xc0
jne 0x427351
mov dword [esi + 8], 0xe0e0e0
jmp 0x427351
mov dword [esi + 8], 0xa0a0a0
mov al, 1
call fcn.00423db0
shr eax, 1
neg eax
imul edx, ebx, 0x28
lea eax, [edx + eax + 0x1000014]
cdq
cmp byte [esi + 8], 0xe0
sete dl
add eax, edx
imul ecx, edi, 0x19
lea edx, [ecx + edx + 4]
call fcn.00423d0c
cmp byte [esi + 8], 0xe0
je 0x42734a
inc ebx
cmp ebx, 0xf
jbe 0x4272c3
inc edi
cmp edi, 7
jbe 0x4272c1
xor edi, edi
mov dword [esi + 0xc], edi
cmp edi, 8
ja 0x4273b0
push 0
imul eax, edi, 0x19
push eax
push 0x280
call fcn.0042396c
imul eax, edi, 0x28
push eax
push 1
push 0xc8
call fcn.0042398c
inc edi
cmp edi, 0x10
jbe 0x42739b
pop eax
popal
call fcn.00423ac8
jmp 0x4296fe
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x11], 0x50
jne 0x427666
mov eax, dword [0x571104]
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x1c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x20]
mov dword [eax], edx
mov dword [eax + 0xc], 0xffffff
push eax
call fcn.00423a00
pop eax
xor edx, edx
mov dword [eax + 0xc], edx
mov dword [eax + 8], edx
pushal
push ebp
push 0x4e
push edx
push 0x1388
call fcn.0042398c
mov eax, dword [ebp - 0x20]
sub eax, 0x50
shr eax, 7
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x1c]
shr eax, 1
mov dword [ebp - 8], eax
cdq
lea ecx, [edx + 3]
div ecx
mov dword [ebp - 0x34], eax
xor ebx, ebx
and dword [ebp + 0x14], 0
mov eax, dword [ebp + 0x14]
inc eax
mul dword [ebp - 8]
sub eax, 0x14
mov dword [ebp + 0xc], eax
cmp ebx, 0x7f
ja 0x42750d
mov eax, dword [0x572463]
cmp byte [0x4c42be], 0x62
jae 0x427464
mov eax, dword [0x57111c]
dec eax
or eax, eax
js 0x42750d
imul esi, eax, 0x408
add esi, dword [0x4c42a8]
mov ax, 0x33d
call fcn.0042236c
shl eax, 7
add eax, ebx
cmp byte [ebp + 0x14], bh
jne 0x42748c
inc esi
movzx eax, byte [esi + eax*2 + 0x14131]
mul dword [ebp - 0x34]
imul esi, eax, 0x5acb
shr esi, 0x15
mov eax, dword [ebp - 8]
sub eax, 0x19
cmp esi, eax
setg byte [ebp - 0x46]
jle 0x4274b0
mov esi, eax
mov byte [ebp - 0x46], dl
cmp esi, 1
jbe 0x4274e9
mov eax, 0xc000
test bl, 1
je 0x4274c7
mov eax, 0xffff00
mov edx, dword [ebp - 0x30]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 0xc]
mul ebx
add eax, 0x4e
push eax
mov edx, dword [ebp + 0xc]
lea ecx, [edx - 1]
sub edx, esi
push edx
add eax, dword [ebp - 0xc]
push eax
push ecx
call fcn.004238fc
mov edx, dword [ebp - 0x30]
and dword [edx + 0xc], 0
dec byte [ebp - 0x46]
jns 0x42750d
mov eax, dword [ebp - 0xc]
mul ebx
add eax, 0x4e
push eax
mov edx, dword [ebp + 0xc]
sub edx, esi
push edx
add eax, dword [ebp - 0xc]
push eax
call fcn.0042396c
xor esi, esi
test bl, 7
jne 0x427591
cmp ebx, 0x7f
jae 0x42758e
mov ax, 0x33d
call fcn.0042236c
lea ecx, [eax + 6]
mov eax, dword [ebp - 0x14]
lea edx, [ebx + 1]
neg edx
call fcn.00421cf0
cmp byte [0x4c42be], 0x63
je 0x427551
movzx edx, byte [0x4c329b]
add edx, dword [0x4c42a8]
mov dl, byte [edx + 0x2d]
mov byte [0x4c3299], dl
bt dword [0x4c3299], ecx
jb 0x427572
mov dl, 0x61
cmp ebx, 0x3f
jbe 0x42756d
lea edx, [ebx - 0x3f]
neg edx
call fcn.00421cf0
mov dl, 0x62
call fcn.00421ed0
mov edx, 0x2026
call fcn.00421ec0
mov eax, dword [ebp - 0xc]
mul ebx
add eax, 0x50
mov edx, dword [ebp + 0xc]
inc edx
inc edx
call fcn.00423d0c
add esi, 9
mov eax, dword [ebp - 0xc]
mul ebx
add eax, 0x4e
push eax
mov eax, dword [ebp - 8]
mul dword [ebp + 0x14]
add eax, 5
push eax
mov eax, dword [ebp + 0xc]
add eax, esi
push eax
call fcn.0042398c
or ebx, ebx
jne 0x4275df
mov eax, dword [ebp - 0x14]
mov dx, 0x86c2
call fcn.00421e64
mov edx, dword [ebp + 0x14]
inc edx
call fcn.00421cf0
mov eax, dword [ebp - 8]
shr eax, 1
neg eax
add eax, dword [ebp + 0xc]
add eax, 0x40000028
push 0x1e
pop edx
call fcn.00423d0c
xor dword [ebp + 0x14], 1
jne 0x42743a
inc ebx
cmp bl, 0x80
jne 0x427436
xor ebx, ebx
mov eax, ebx
mul dword [ebp - 0x34]
neg eax
lea esi, [eax - 0x14]
xor edi, edi
add esi, dword [ebp - 8]
push 0x48
push esi
mov eax, dword [ebp - 0xc]
shl eax, 7
add eax, 0x4e
push eax
call fcn.0042396c
mov eax, dword [ebp - 0x14]
and dword [eax], 0
lea edx, [ebx + ebx*4]
call fcn.00421cf0
xor eax, eax
call fcn.00423db0
neg eax
add eax, 0x46
lea edx, [esi - 8]
call fcn.00423d0c
xor edi, 1
jne 0x427601
inc ebx
cmp ebx, 2
jbe 0x4275f5
pop eax
popal
mov eax, dword [ebp - 0x14]
mov dx, 0x86c3
call fcn.00421e64
push 0x28
pop eax
lea edx, [eax - 0xf]
call fcn.00423d0c
call fcn.00423ac8
jmp 0x4296fe
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x11], 0x4e
jne 0x4279d7
mov eax, dword [0x571104]
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x1c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x20]
mov dword [eax], edx
mov dword [eax + 0xc], 0xffffff
push eax
call fcn.00423a00
pop eax
xor edx, edx
mov dword [eax + 0xc], edx
mov dword [eax + 8], edx
mov ax, 0x32e
call fcn.0042236c
mov byte [ebp - 0x46], al
dec al
jns 0x427728
pushal
push ebp
push 0x5e
mov ebx, dword [ebp - 0x1c]
sub ebx, 0x1a
push ebx
mov eax, dword [ebp - 0x20]
dec eax
push eax
call fcn.0042396c
push 0x62
push 0
push ebx
call fcn.0042398c
xor ebx, ebx
mov esi, dword [0x572431]
neg esi
add esi, ebx
cmp esi, dword [ebp - 0x20]
jg 0x427726
or esi, esi
js 0x42771e
lea eax, [esi + 0x62]
push eax
mov edi, dword [ebp - 0x1c]
sub edi, 0x19
push edi
add edi, 3
push edi
call fcn.0042398c
mov eax, dword [ebp - 0x14]
and dword [eax], 0
mov edx, ebx
call fcn.00421cf0
xor eax, eax
call fcn.00423db0
shr eax, 1
neg eax
add eax, esi
cmp eax, 0xfffffffb
jle 0x42771e
add eax, 0x62
lea edx, [edi + 1]
call fcn.00423d0c
add ebx, 0xc8
jmp 0x4276cd
pop eax
popal
xor eax, eax
mov dword [ebp + 0xc], eax
mov eax, dword [0x4ad48c]
cmp byte [eax], 0
ja 0x427741
mov eax, dword [0x4ad574]
cmp byte [eax], 0
jbe 0x42776a
mov eax, dword [ebp - 0x14]
push eax
mov ax, 0x324
call fcn.00421d94
push eax
push 0x148
mov eax, dword [0x57ae60]
push eax
call fcn.00403a80
mov eax, dword [ebp - 0x14]
call fcn.00421b18
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 0xc]
add eax, dword [0x4c42a8]
movzx edx, byte [eax + 0x1402d]
mov al, 0xff
cmp dl, 0x1e
ja 0x427787
mov al, byte [edx + 0x4ad0d0]
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x46], 1
jne 0x427829
mov eax, dword [ebp - 0x14]
push eax
call fcn.004038a0
push 0xfa0
push 0x40
call fcn.00403890
mov dword [ebp - 0x14], eax
pushal
mov eax, dword [ebp + 0xc]
mov esi, dword [0x4c42a8]
lea esi, [esi + eax*2 + 0x14131]
mov ecx, dword [0x57111c]
jecxz 0x427828
mov bl, byte [ebp - 0x45]
movzx eax, word [esi]
cdq
cmp bl, 5
ja 0x427828
jb 0x4277e3
mov ax, word [esi + 0x204]
shr eax, 4
add ax, 0x15e
jmp 0x427810
cmp bl, 3
jb 0x4277f7
ja 0x4277ef
lea edi, [edx + 0xa]
jmp 0x42780e
imul eax, eax, 0x7d
shr eax, 0xd
jmp 0x427810
cmp bl, 1
je 0x4277ef
jb 0x427803
imul eax, eax, 0x19
jmp 0x4277f2
imul eax, eax, 0x93b
mov edi, 0x50000
div edi
mov edx, dword [ebp - 0x14]
inc dword [edx + eax*4 + 0x3e8]
inc ebx
cmp bl, 5
je 0x4277c8
add esi, 0x408
loop 0x4277c5
popal
call fcn.00424160
movzx ecx, byte [ebp - 0x45]
cmp byte [ebp - 0x46], ch
jne 0x4279af
pushal
xor ebx, ebx
inc ebx
shl ebx, cl
and dword [ebp - 0x34], 0
mov esi, dword [ebp - 0x34]
add esi, dword [0x572431]
cmp esi, dword [0x57111c]
jae 0x42794d
imul esi, esi, 0x408
add esi, dword [0x4c42a8]
test bl, 0x30
je 0x427871
add esi, 0x204
mov eax, dword [ebp + 0xc]
movzx edi, word [esi + eax*2 + 0x14131]
mov esi, dword [ebp - 0x1c]
test bl, 0x30
je 0x42788f
shr edi, 1
lea edx, [di - 0x1b8]
push 0xffffffffffffffbd
jmp 0x4278c4
test bl, 0x46
je 0x4278a4
imul edx, edi, 0x19
cmp bl, 4
je 0x42789f
lea edx, [edx + edx*4]
shr edx, 0xa
jmp 0x4278c2
cmp bl, 8
jne 0x4278b6
imul eax, edi, 4
cdq
lea ecx, [edx + 5]
div ecx
mov edx, eax
jmp 0x4278c2
imul edx, edi, 0x93b
shr edx, 0xf
sub edx, 0x64
push 0xffffffffffffffe5
pop edi
add edi, esi
sub edi, edx
sub esi, 0x1b
cmp edi, esi
jle 0x4278d2
mov edi, esi
or edi, edi
jns 0x4278d8
xor edi, edi
mov dword [ebp + 0x10], edi
mov esi, dword [ebp - 0x30]
add esi, 0xc
mov dword [esi], 0xff0000
cmp bl, 0x10
jne 0x4278ef
shr dword [esi], 0x10
cmp dword [ebp - 0x34], 0
je 0x42793f
pushal
mov esi, dword [ebp + 0x14]
push 1
pop ecx
lea eax, [ecx + esi]
cmp edi, eax
jg 0x42790b
dec eax
dec eax
cmp edi, eax
jge 0x427934
neg ecx
push ebp
mov ebx, dword [ebp - 0x34]
add ebx, 0x63
push ebx
lea eax, [esi + edi]
shr eax, 1
lea edx, [ecx + eax]
inc ecx
jecxz 0x427921
xchg esi, eax
xchg edi, edx
push edi
push edx
push ebp
dec ebx
push ebx
push eax
push esi
call fcn.0042398c
pop eax
call fcn.0042398c
pop eax
popal
push edi
mov edi, dword [ebp + 0x14]
call fcn.0042796b
pop edi
mov dword [esi], 0xff0000
call fcn.0042796b
mov dword [ebp + 0x14], edi
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
add eax, 0x63
cmp eax, dword [ebp - 0x20]
jbe 0x427845
cmp bl, 0x10
jne 0x4279a0
mov bl, 0x40
jmp 0x427841
popal
jmp 0x4279cd
mov eax, dword [ecx*2 + 0x4279a3]
cmp cl, 5
ja 0x4279cd
call fcn.00424014
cmp ax, 0x103
jne 0x4279cd
shr dword [ebp - 4], 1
xor al, al
jmp 0x4279bb
call fcn.00423ac8
jmp 0x4296fe
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x11], 0x4f
jne 0x4279f9
mov eax, 0xffffff
call fcn.00423a14
call fcn.00423ac8
call fcn.00423ad0
jmp 0x4296fe
pushal
mov edi, dword [ebp - 0x10]
mov al, byte [edi + 0x11]
cmp al, 0x4d
jne 0x427ae9
mov eax, 0xc0c0ff
call fcn.00423a14
mov eax, dword [ebp - 0x30]
mov dword [eax + 0xc], 0xc0c0c0
xor esi, esi
push ebp
xor ebx, ebx
cmp bl, byte [edi + 0x2e]
imul eax, ebx, 0x10
add eax, esi
add eax, dword [edi + 0x25]
bt dword [0x4c42c8], eax
jae 0x427a4a
imul eax, esi, 0x39
push eax
imul edx, ebx, 0x1c
push edx
add eax, 0x39
add edx, 0x1c
push eax
push edx
call fcn.004238fc
inc ebx
cmp bl, byte [edi + 0x2e]
jb 0x427a21
inc esi
cmp esi, 0xf
jbe 0x427a1f
mov eax, dword [ebp - 0x30]
xor esi, esi
and dword [eax + 0xc], esi
and dword [eax + 8], esi
imul eax, esi, 0x39
push eax
push 0
mov eax, dword [ebp - 0x1c]
dec eax
push eax
call fcn.0042398c
inc esi
cmp esi, 0x10
jbe 0x427a61
xor ebx, ebx
push 0
imul eax, ebx, 0x1c
push eax
mov eax, dword [ebp - 0x20]
dec eax
push eax
call fcn.0042396c
xor esi, esi
imul edx, ebx, 0xfffffff0
sub edx, esi
dec edx
mov eax, dword [ebp - 0x14]
call fcn.00421cf0
cmp byte [edi + 0x2f], bh
je 0x427ab7
cmp ebx, 3
seta cl
jbe 0x427aae
add edx, 0x40
call fcn.00421cf0
mov dl, 0x61
add dl, cl
call fcn.00421ed0
mov al, 1
call fcn.00423db0
shr eax, 1
neg eax
imul edx, esi, 0x39
lea eax, [edx + eax + 0x100001c]
imul edx, ebx, 0x1c
add edx, 7
call fcn.00423d0c
inc esi
cmp esi, 0x10
jbe 0x427a8b
inc ebx
cmp bl, byte [edi + 0x2e]
jbe 0x427a79
pop eax
jmp 0x427c46
sub al, 0x4b
cmp al, 1
ja 0x427c7c
mov byte [ebp - 0x47], al
mov eax, 0xffffff
call fcn.00423a14
mov esi, dword [ebp - 0x30]
add esi, 0xc
xor eax, eax
mov dword [esi], eax
cmp dword [edi + 0x12], eax
jne 0x427b15
mov dword [esi], 0xc0c0c0
push ebp
push eax
push eax
mov eax, dword [ebp - 0x20]
dec eax
push eax
mov eax, dword [ebp - 0x1c]
dec eax
push eax
call fcn.004239ac
xor edx, edx
lea eax, [edx + 0x13]
cmp byte [ebp - 0x47], dl
je 0x427b4e
push eax
push edx
push dword [ebp - 0x1c]
call fcn.0042398c
mov eax, dword [ebp - 0x20]
sub eax, 0x14
push eax
push 0
push dword [ebp - 0x1c]
call fcn.0042398c
jmp 0x427b69
push edx
push eax
push dword [ebp - 0x20]
call fcn.0042396c
push 0
mov eax, dword [ebp - 0x1c]
sub eax, 0x14
push eax
push dword [ebp - 0x20]
call fcn.0042396c
xor ebx, ebx
and dword [esi], 0
test byte [edi + 0x2f], 1
je 0x427b7a
mov dword [esi], 0x808080
mov eax, dword [ebp + 0x14]
test byte [eax + 0x10], 4
jne 0x427b89
cmp dword [edi + 0x25], 0
jne 0x427b8f
mov dword [esi], 0xc0c0c0
lea eax, [ebx + 6]
lea edx, [ebx - 0xa]
neg edx
mov ecx, fcn.0042398c
cmp byte [ebp - 0x47], bh
jne 0x427ba7
mov ecx, fcn.0042396c
xchg edx, eax
push eax
push edx
lea eax, [ebx + 0xa]
push eax
call ecx
and dword [esi], 0
test byte [edi + 0x2f], 2
je 0x427bbe
mov dword [esi], 0x808080
mov eax, dword [ebp + 0x14]
test byte [eax + 0x10], 4
jne 0x427bcf
mov eax, dword [edi + 0x25]
cmp eax, dword [edi + 0x12]
jne 0x427bd5
mov dword [esi], 0xc0c0c0
lea eax, [ebx + 7]
neg eax
lea edx, [eax + 0x11]
add eax, dword [ebp - 0x20]
mov ecx, fcn.0042398c
cmp byte [ebp - 0x47], bh
jne 0x427bf6
mov ecx, fcn.0042396c
sub eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x1c]
xchg edx, eax
push eax
push edx
lea eax, [ebx + 0xa]
push eax
call ecx
inc ebx
cmp ebx, 6
jbe 0x427b6b
pop eax
cmp dword [edi + 0x12], 0
je 0x427c46
lea edx, [ebp - 0xc]
mov eax, edi
call fcn.00422a58
and dword [esi], 0
mov eax, dword [ebp + 0x14]
test byte [eax + 0x10], 4
jne 0x427c2f
mov edi, fcn.004238fc
call fcn.00427c56
mov eax, dword [ebp - 0x10]
test byte [eax + 0x2f], 4
je 0x427c46
mov byte [esi + 2], 0xc0
mov edi, fcn.004239ac
call fcn.00427c56
popal
call fcn.00423ac8
call fcn.00423ad0
jmp 0x4296fe
popal
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x11], 0x48
jne 0x427cef
mov eax, 0xc0c0c0
call fcn.00423a14
pushal
mov eax, dword [ebp - 0x30]
push eax
xor edx, edx
push edx
and dword [eax + 8], edx
imul edi, dword [ebp - 0x18], 0x1000
mov ebx, 0x4c2230
and dword [ebx], edx
lea edx, [edi + 0x2b75f3c]
mov eax, ebx
call fcn.00421e4c
call fcn.00421b88
push 0x5c
pop edx
cmp dx, word [ebx + eax*2 - 2]
je 0x427ccc
mov eax, ebx
call fcn.00421ed0
lea edx, [edi + 0x2b7673c]
call fcn.00421e4c
push 0
push eax
call fcn.00429f74
popal
call fcn.00423ac8
call fcn.00423ad0
jmp 0x4296fe
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x11], 0x3b
jne 0x427ed1
pushal
mov edi, dword [ebp - 0x10]
mov esi, fcn.004242cc
mov ebx, 0x4242b4
mov al, 0xc1
call esi
xor eax, eax
call esi
movzx edx, byte [edi + 0x2f]
push edx
mov eax, dword [ebp - 0x1c]
dec eax
push eax
mov eax, dword [ebp - 0x20]
dec eax
push eax
push 0
push edx
push dword [ebp - 0x3c]
call fcn.00403a10
xor eax, eax
call ebx
mov al, 1
call ebx
mov al, 0x60
call esi
mov esi, 0x424318
mov ax, 0xc0
call esi
mov ax, 0xfe60
call esi
mov ax, 0xfe22
call esi
mov ax, 0xff12
call esi
xor eax, eax
call ebx
mov al, 0xa0
call fcn.004242cc
mov ax, 0xffe1
call esi
mov ax, 0xff21
call esi
mov ax, 0xff11
call esi
xor eax, eax
call ebx
pop dword [ebp - 0x20]
mov eax, 0xc0c0c0
call fcn.00423a14
mov esi, dword [ebp - 0x30]
add esi, 0xc
xor ebx, ebx
cmp bl, byte [edi + 0x31]
jae 0x427dca
cmp bl, byte [edi + 0x2e]
je 0x427dc7
mov dword [esi], 0xb0b0b0
mov eax, 0x483
call fcn.004244c4
mov dword [esi], 0x606060
mov eax, 0x382
call fcn.004244c4
mov ax, 0x3400
call fcn.00424488
mov ax, 0x4e01
call fcn.00424488
inc ebx
jmp 0x427d8b
push ebp
movzx eax, byte [edi + 0x2f]
dec eax
push eax
push 0
mov eax, dword [ebp - 0x1c]
sub eax, 2
push eax
call fcn.0042398c
movzx ebx, byte [edi + 0x2e]
mov eax, 0x30080
call fcn.004244c4
mov dword [esi], 0xffec10
xor eax, eax
call fcn.004244a8
mov dword [esi], 0xfbe812
mov al, 1
call fcn.004244a8
pop eax
push 0x27
pop ecx
push ecx
imul eax, ecx, 0xfffffff9
sar eax, 1
add al, 0xec
movzx eax, al
mov ah, cl
shl ah, 2
neg ah
dec ah
shl eax, 8
lea eax, [eax + ecx*2 + 0x10]
mov dword [esi], eax
movzx eax, byte [edi + 0x30]
mul ebx
mov edx, eax
mov eax, ecx
pushal
call fcn.00423adc
popal
movzx ecx, byte [edi + 0x30]
lea edx, [ecx + edx + 3]
call fcn.00423adc
pop ecx
dec ecx
jns 0x427e0b
mov dword [esi], 0xc0c0c0
mov al, byte [edi + 0x2f]
dec eax
call fcn.004244a8
xor eax, eax
call fcn.00424488
mov ax, 0x1a01
call fcn.00424488
and dword [esi - 4], 0
xor ebx, ebx
cmp bl, byte [edi + 0x31]
jae 0x427ec1
mov ax, 0x829d
call fcn.004245f8
lea edx, [ebx + 1]
call fcn.00421cf0
xor eax, eax
bt dword [edi + 0x12], ebx
jae 0x427eaa
mov dword [esi - 4], 0x707070
movzx eax, byte [edi + 0x30]
mul ebx
lea edx, [eax + 9]
push 0x10
pop eax
call fcn.00423d0c
mov eax, 0xd0d0d0
mov dword [esi - 4], eax
movzx eax, byte [edi + 0x30]
mul ebx
lea edx, [eax + 8]
push 0xf
pop eax
call fcn.00423d0c
inc ebx
jmp 0x427e6f
popal
call fcn.00423ac8
call fcn.00423ad0
jmp 0x4296fe
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x11], 0x3a
jne 0x42827f
pushal
mov edi, dword [ebp - 0x10]
xor eax, eax
cmp word [ebp - 0x18], 0x43
jne 0x427ef8
push 0
push dword [0x57613a]
call fcn.00403bb8
mov dword [ebp - 4], eax
mov esi, fcn.004242cc
mov ebx, 0x4242b4
mov al, 0xc1
call esi
xor eax, eax
call esi
movzx edx, byte [edi + 0x30]
inc edx
push edx
mov eax, dword [ebp - 0x1c]
dec eax
push eax
mov eax, dword [ebp - 0x20]
dec eax
push eax
push edx
push 2
push dword [ebp - 0x3c]
call fcn.00403a10
xor eax, eax
call ebx
mov al, 1
call ebx
mov al, 0x60
call esi
mov esi, 0x424318
mov ax, 0x190
call esi
mov ax, 0x102
call esi
mov ax, 0xfe22
call esi
mov ax, 0xfe30
call esi
xor eax, eax
call ebx
mov al, 0xa0
call fcn.004242cc
mov ax, 0x181
call esi
mov ax, 0xff21
call esi
mov ax, 0xff30
call esi
xor eax, eax
call ebx
mov al, 0xc0
call fcn.004242cc
mov ax, 0x90
call esi
xor eax, eax
call esi
xor eax, eax
call ebx
pop dword [ebp - 0x1c]
mov eax, 0xc0c0c0
call fcn.00423a14
mov esi, dword [ebp - 0x30]
add esi, 0xc
xor ebx, ebx
cmp bl, byte [edi + 0x31]
jae 0x427ff6
movzx eax, byte [edi + 0x2e]
sub eax, dword [ebp - 4]
cmp ebx, eax
je 0x427ff3
mov dword [esi], 0xb0b0b0
xor edx, edx
cmp word [ebp - 0x18], 0x43
jne 0x427fd2
mov eax, dword [ebp - 4]
add eax, ebx
cmp word [eax*8 + 0x2dbabe0], 0
je 0x427fd2
mov dword [esi], 0x606060
inc edx
push edx
mov eax, 0xfc0304
call fcn.004244c4
mov dword [esi], 0x606060
mov eax, 0x1fe0203
call fcn.004244c4
pop eax
call fcn.00424460
inc ebx
jmp 0x427f9c
push ebp
push 1
mov dword [esi], 0x606060
movzx eax, byte [edi + 0x30]
push eax
mov eax, dword [ebp - 0x20]
sub eax, 2
push eax
call fcn.0042396c
pop ebp
movzx ebx, byte [edi + 0x2e]
sub ebx, dword [ebp - 4]
js 0x4280a0
cmp bl, byte [edi + 0x31]
jae 0x4280a0
mov eax, 0x20001
call fcn.004244c4
mov dword [esi], 0xc0c0c0
mov al, byte [edi + 0x30]
call fcn.00428260
mov dword [esi], 0xffec10
xor eax, eax
call fcn.00428260
mov dword [esi], 0xf7e514
mov al, 1
call fcn.00428260
mov dword [ebp + 0x10], ebx
xor ebx, ebx
imul ecx, ebx, 0xfffffff9
add cl, 0xec
movzx eax, cl
imul ecx, ebx, 0xfffffff8
add cl, 0xff
mov ah, cl
shl eax, 8
lea eax, [eax + ebx*4 + 0x10]
mov dword [esi], eax
movzx ecx, byte [edi + 0x2f]
mov eax, ecx
mul dword [ebp + 0x10]
inc eax
mov edx, ebx
pushal
call fcn.00423adc
popal
lea eax, [ecx + eax + 2]
call fcn.00423adc
inc ebx
cmp ebx, 0x13
jbe 0x42805a
mov ebx, dword [ebp + 0x10]
mov al, 2
call fcn.00424460
add esi, 0xfffffffc
xor ebx, ebx
cmp bl, byte [edi + 0x31]
jb 0x4280ba
popal
call fcn.00423ac8
call fcn.00423ad0
jmp 0x4296fe
pushal
mov esi, dword [edi + 0x2a]
mov edi, dword [ebp - 0x14]
xor eax, eax
cdq
mov dword [edi], edx
lodsw ax, word [esi]
or ax, ax
je 0x4280e5
cmp ax, 0xd
jne 0x4280da
cmp edx, ebx
je 0x4280e5
inc edx
jmp 0x4280c6
cmp edx, ebx
jne 0x4280c6
stosw word es:[edi], ax
and dword [edi], 0
jmp 0x4280c6
popal
and dword [ebp - 0x34], 0
and dword [esi], 0
cmp word [ebp - 0x18], 0x14a
je 0x4280fc
cmp word [ebp - 0x18], 5
jne 0x428167
cmp ebx, 1
jbe 0x428202
mov eax, 0x801d
call fcn.004245f8
lea edx, [ebx - 1]
call fcn.00421cf0
movzx eax, byte [0x4ad264]
imul eax, eax, 0x11
movzx ecx, byte [eax + ebx + 0x57f0aa]
cmp word [ebp - 0x18], 5
je 0x428147
movzx eax, byte [0x571918]
shl eax, 4
add eax, dword [0x4c42a8]
mov ecx, dword [ebx + eax + 0x2e]
and ecx, 0x3f
or ecx, ecx
je 0x428202
push ecx
mov ax, 0x203
call fcn.00424278
pop eax
mov ax, word [eax*2 + 0x4ad08a]
jmp 0x4281f2
cmp word [ebp - 0x18], 0x27
je 0x428181
cmp word [ebp - 0x18], 0x14b
je 0x428181
cmp word [ebp - 0x18], 7
jne 0x428202
mov edx, dword [ebp - 0x14]
mov eax, ebx
call fcn.00421cc4
bt dword [edi + 0x12], ebx
jb 0x42823c
cmp word [ebp - 0x18], 7
jne 0x4281aa
cmp bl, byte [0x57f0a8]
jne 0x4281aa
mov dword [esi], 0xa0
mov ax, 0x203
call fcn.00424278
cmp word [ebp - 0x18], 7
je 0x4281e0
mov eax, dword [0x4c42a8]
movzx eax, byte [ebx + eax]
mov dl, byte [0x4c42be]
cmp dl, 0x63
je 0x4281d7
cmp byte [0x4b32b5], 1
jne 0x4281ea
movzx eax, byte [0x4c3298]
jmp 0x4281ea
imul eax, ebx, 0x11
movzx eax, byte [eax + 0x57f0b9]
mov ax, word [eax*2 + 0x4ad0a2]
call fcn.004245f8
mov ax, 0x210
call fcn.00424278
jmp 0x42825a
cmp word [ebp - 0x18], 0x43
jne 0x428236
lea eax, [ebx + 1]
neg eax
sub eax, dword [ebp - 4]
call fcn.00424604
mov eax, dword [ebp - 4]
add eax, ebx
cmp al, byte [edi + 0x2e]
je 0x428251
cmp word [eax*8 + 0x2dbabe0], 0
je 0x428251
inc byte [ebp - 0x31]
mov dword [esi], 0xffffff
jmp 0x428251
bt dword [edi + 0x12], ebx
jae 0x428251
mov dword [esi], 0x707070
mov ax, 0x83fa
call fcn.00424278
mov dword [esi], 0xd0d0d0
mov ax, 0x82f9
call fcn.00424278
inc ebx
jmp 0x4280a5
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0x11]
cmp al, 0x3c
jb 0x4282ce
cmp al, 0x3f
ja 0x4282ce
mov eax, 0xc0c0c0
call fcn.00423a14
call fcn.00423ac8
call fcn.00423ad0
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0x11]
mov eax, dword [eax*4 + 0x4acf74]
push eax
push 0
call fcn.00403c78
push eax
push 0
push 0
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x18]
push eax
call fcn.004039a0
jmp 0x4296fe
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x11], 0x47
jne 0x428349
mov eax, 0xffffff
call fcn.00423a14
mov eax, dword [ebp - 0x30]
mov dword [eax + 0xc], 0x808080
push ebp
push 0
push 0
mov eax, dword [ebp - 0x20]
dec eax
push eax
mov eax, dword [ebp - 0x1c]
dec eax
push eax
call fcn.004239ac
pop ecx
mov eax, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [eax + 0x25]
cmp eax, 0xffffffff
mov ecx, 0x3e8
jne 0x428319
mov edx, 0xc0c0c0
mov eax, ecx
push edx
mov edx, dword [ebp - 0x30]
pop dword [edx + 0xc]
mov edx, dword [ebp - 0x20]
push ebp
push 1
push 1
dec edx
dec edx
mul edx
idiv ecx
push eax
mov eax, dword [ebp - 0x1c]
dec eax
dec eax
push eax
call fcn.004238fc
call fcn.00423ac8
call fcn.00423ad0
jmp 0x4296fe
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x11], 0x35
jne 0x428464
push eax
call fcn.00422b64
pop eax
push ebp
mov eax, dword [ebp + 0x14]
test byte [eax + 0x10], 4
je 0x428373
mov eax, 0xc0c0c0
call fcn.00423a14
jmp 0x42839c
mov eax, 0xffffff
call fcn.00423a14
mov eax, dword [ebp - 0x30]
mov dword [eax + 0xc], 0xe0e0e0
push 1
push 1
mov eax, dword [ebp - 0x20]
dec eax
dec eax
push eax
mov eax, dword [ebp - 0x1c]
dec eax
dec eax
push eax
call fcn.004239ac
mov eax, dword [ebp - 0x30]
mov dword [eax + 0xc], 0x808080
push 0
push 0
mov eax, dword [ebp - 0x20]
dec eax
push eax
mov eax, dword [ebp - 0x1c]
dec eax
push eax
call fcn.004239ac
call fcn.00423d1c
call fcn.00423ac8
call fcn.00423ad0
pop eax
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x31], 0
jbe 0x428441
movzx eax, word [0x4ad274]
cmp eax, dword [ebp - 0x18]
je 0x428409
cmp word [0x4ad274], 0
je 0x4283ed
call fcn.00403c40
push 0x10
push 1
push 0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0xc]
push eax
call fcn.00403c18
movzx eax, word [ebp - 0x18]
mov word [0x4ad274], ax
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0x2e]
call fcn.00429d00
mov dword [ebp + 0x10], eax
push 3
mov eax, dword [ebp + 0x10]
add eax, 3
push eax
call fcn.00403c30
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0xc]
push eax
call fcn.00403c28
push 0x15e
call fcn.00403c38
jmp 0x4296fe
movzx eax, word [0x4ad274]
cmp eax, dword [ebp - 0x18]
jne 0x4296fe
call fcn.00403c40
mov word [0x4ad274], 0
jmp 0x4296fe
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x11], 0x34
jne 0x4285bd
mov eax, dword [ebp + 0x14]
test byte [eax + 0x10], 4
jbe 0x428490
mov eax, 0xc0c0c0
call fcn.00423a14
mov eax, dword [ebp - 0x30]
mov dword [eax + 0xc], 0x808080
jmp 0x4284d5
mov eax, 0xe0e0ff
call fcn.00423a14
mov eax, dword [ebp - 0x30]
mov dword [eax + 0xc], 0x8080ff
push ebp
push 1
push 1
mov eax, dword [ebp - 0x20]
sub eax, 2
push eax
mov eax, dword [ebp - 0x1c]
sub eax, 2
push eax
call fcn.004239ac
pop ecx
xor eax, eax
call fcn.00423bb0
mov al, 1
call fcn.00423bb0
mov eax, dword [ebp - 0x30]
mov dword [eax + 0xc], 0x80
push ebp
push 0
push 0
mov eax, dword [ebp - 0x20]
dec eax
push eax
mov eax, dword [ebp - 0x1c]
dec eax
push eax
call fcn.004239ac
pop ecx
call fcn.00423ac8
call fcn.00423ad0
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x31], 0
jbe 0x42859a
movzx eax, word [0x4ad274]
cmp eax, dword [ebp - 0x18]
je 0x428538
cmp word [0x4ad274], 0
je 0x42851c
call fcn.00403c40
push 0x16
push 1
push 0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0xc]
push eax
call fcn.00403c18
movzx eax, word [ebp - 0x18]
mov word [0x4ad274], ax
mov eax, dword [ebp - 0x10]
movzx ebx, byte [eax + 0x2e]
movzx eax, bl
shr eax, 7
imul eax, eax, 0x15
mov edx, dword [ebp - 0x10]
mov edx, dword [edx + 0x2a]
lea eax, [edx + eax*4 + 2]
mov edx, ebx
and dl, 0x7f
movzx edx, dl
call fcn.00429ce4
mov dword [ebp + 0x10], eax
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0x2e]
shr eax, 7
imul eax, eax, 0x16
add eax, 3
push eax
mov eax, dword [ebp + 0x10]
add eax, 3
push eax
call fcn.00403c30
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0xc]
push eax
call fcn.00403c28
push 0x15e
call fcn.00403c38
jmp 0x4296fe
movzx eax, word [0x4ad274]
cmp eax, dword [ebp - 0x18]
jne 0x4296fe
call fcn.00403c40
mov word [0x4ad274], 0
jmp 0x4296fe
cmp dword [ebp - 0x18], 0x144
jne 0x428725
pushal
mov esi, dword [0x571104]
mov dword [ebp - 0x30], esi
lodsd eax, dword [esi]
mov dword [ebp - 0x20], eax
lodsd eax, dword [esi]
mov dword [ebp - 0x1e], eax
push ebp
xor ebx, ebx
xor edi, edi
and dword [esi + 4], 0
imul eax, ebx, 0x37
push eax
imul edx, edi, 0x1a
push edx
add eax, 0x36
push eax
add edx, 0x19
push edx
call fcn.004239ac
mov dword [esi + 4], 0xc0c0c0
movzx ecx, byte [0x2dc438c]
imul ecx, ecx, 0x130
imul edx, edi, 0x10
add edx, ebx
add edx, ecx
mov al, byte [edx + 0x2dc4390]
mov byte [ebp - 0x47], al
or al, al
je 0x428629
mov dword [esi + 4], 0xffff80
bt dword [0x570ea4], edx
setb byte [ebp - 0x46]
jae 0x42863d
mov dword [esi + 4], 0xc0c0c0
imul eax, ebx, 0x37
inc eax
push eax
imul edx, edi, 0x1a
inc edx
push edx
add eax, 0x34
push eax
add edx, 0x17
push edx
call fcn.004238fc
imul eax, edi, 0xfffffff0
sub eax, ebx
dec eax
call fcn.00424604
and dword [esi], 0
cmp byte [ebp - 0x46], 0
je 0x428694
mov dword [esi], 0x808080
xor eax, eax
call fcn.00423db0
neg eax
add eax, 0x37
shr eax, 1
imul edx, ebx, 0x37
lea eax, [edx + eax + 1]
imul edx, edi, 0x1a
add edx, 7
call fcn.00423d0c
mov dword [esi], 0xe0e0e0
pushal
mov ebx, dword [ebp - 0x47]
and ebx, 0x7f
je 0x4286e6
mov edi, fcn.00421ed0
mov eax, dword [ebp - 0x14]
mov dx, 0x3a
test bl, 0x20
je 0x4286b2
mov dx, 0x3d
call edi
mov dx, 0x78
mov dh, bl
and dh, 3
cmp dh, 1
mov dh, 0
je 0x4286c8
mov dx, 0x2b
call edi
shld ecx, ebx, 0x1f
and ecx, 6
add ecx, dword [0x4c5968]
mov edx, dword [ecx]
call edi
test bl, 0x10
je 0x4286e6
mov dx, 0x21
call edi
popal
xor eax, eax
call fcn.00423db0
neg eax
add eax, 0x37
shr eax, 1
imul edx, ebx, 0x37
add eax, edx
imul edx, edi, 0x1a
add edx, 6
call fcn.00423d0c
inc edi
cmp edi, 0x12
jbe 0x4285e1
inc ebx
cmp ebx, 0xf
jbe 0x4285df
call fcn.00423ac8
pop eax
popal
jmp 0x4296fe
cmp dword [ebp - 0x18], 6
jne 0x428d0b
mov eax, dword [0x571104]
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x20]
mov dword [eax], edx
mov edx, dword [ebp - 0x1c]
mov dword [eax + 4], edx
movzx ecx, byte [0x4ad248]
push dword [ecx*4 + 0x4ad054]
pop dword [eax + 0xc]
and dword [eax + 8], 0
call fcn.00423a00
pushal
and dword [ebp + 0x10], 0
inc dword [ebp + 0x10]
mov eax, dword [ebp + 0x10]
cmp eax, dword [0x2da89c0]
ja 0x428d00
mov esi, dword [ebp - 0x30]
add esi, 0xc
push dword [0x4ad04c]
pop dword [esi]
imul edi, eax, 0x14
add edi, 0x2da71ec
movzx ebx, word [edi + 0x10]
imul ebx, ebx, 0x100
add ebx, 0x57f21b
mov al, byte [edi + 0x12]
movzx edx, byte [ebx + 2]
cmp al, 0x1a
ja 0x4287ad
cmp al, 0x17
jb 0x4287ad
or edx, edx
jne 0x4287d2
cmp al, 0x12
jne 0x4287c6
dec edx
js 0x4287c6
push dword [0x4ad048]
pop dword [esi]
je 0x4287c6
push dword [0x4ad044]
pop dword [esi]
cmp al, 0x1d
ja 0x4287d5
cmp al, 0x1b
jb 0x4287d5
test byte [ebx + 1], 1
nop
jne 0x42883e
cmp al, 0x11
je 0x42882b
cmp al, 7
jne 0x4287ef
mov edx, dword [edi + 0x10]
and edx, 0xf
imul edx, edx, 0x11
cmp byte [edx + 0x57f0b9], 0
jne 0x42883e
cmp al, 4
jne 0x428809
test byte [ebx + 1], 1
je 0x428809
movzx ecx, byte [edx + 0x4ad174]
mov ecx, dword [ecx*4 + 0x4ad028]
mov dword [esi], ecx
cmp al, 3
jne 0x428813
test byte [ebx + 1], 1
jne 0x42883e
cmp al, 5
je 0x42882b
cmp al, 0x13
jb 0x42881f
cmp al, 0x16
jbe 0x42882b
cmp al, 0xe
je 0x42882b
cmp al, 0x10
je 0x42882b
cmp al, 2
jne 0x428833
push dword [0x4ad04c]
pop dword [esi]
cmp al, 6
je 0x42883b
cmp al, 1
jne 0x428846
dec edx
js 0x428846
push dword [0x4ad048]
pop dword [esi]
push ebp
push dword [edi]
push dword [edi + 4]
push dword [edi + 8]
push dword [edi + 0xc]
call fcn.004238fc
and dword [esi], 0
test byte [ebx + 1], 4
je 0x42887e
mov dword [esi], 0xffffff
mov eax, dword [edi]
inc eax
push eax
mov eax, dword [edi + 4]
inc eax
push eax
mov eax, dword [edi + 8]
inc eax
push eax
mov eax, dword [edi + 0xc]
inc eax
push eax
call fcn.004239ac
push dword [edi]
push dword [edi + 4]
push dword [edi + 8]
push dword [edi + 0xc]
call fcn.004239ac
cmp byte [ebx], 4
jne 0x4288c0
cmp byte [ebx + 8], 0
je 0x4288c0
mov dword [esi], 0xffffff
mov edx, dword [edi + 4]
inc edx
mov eax, dword [edi]
inc eax
test dl, 1
jne 0x4288ac
inc eax
pushal
call fcn.00423adc
popal
inc eax
inc eax
cmp eax, dword [edi + 8]
jb 0x4288ac
inc edx
cmp edx, dword [edi + 0xc]
jb 0x4288a3
pop ecx
call fcn.0042436c
pushal
mov eax, 0x2da89d0
mov ebx, dword [eax + 2]
and ebx, 0x7f
jne 0x4288d6
mov bl, byte [eax]
add edi, 4
mov esi, dword [edi]
mov edi, dword [edi + 8]
lea eax, [edi + esi]
sub eax, ebx
shr eax, 1
mov dword [ebp - 8], eax
push 3
pop ecx
neg ebx
lea eax, [edi + esi*2]
lea eax, [eax + ebx*2]
cdq
idiv ecx
mov dword [ebp - 0xc], eax
lea eax, [esi + edi*2]
lea eax, [eax + ebx*4]
cdq
idiv ecx
sub eax, ebx
mov dword [ebp - 4], eax
popal
movzx eax, byte [edi + 0x12]
movzx esi, word [edi + 0x10]
movzx ecx, byte [edi + 0x13]
cmp al, 0x1d
ja 0x428cfa
jb 0x428934
mov ax, 0x87bb
call fcn.004245f8
push 4
pop eax
call fcn.0042438c
jmp 0x428cfa
cmp al, 0x1c
jb 0x428997
test byte [ebx + 1], 1
je 0x42896f
push esi
xor esi, esi
mov eax, dword [ebp - 0x14]
mov dword [eax], esi
movzx eax, byte [esi + ebx + 0xc1]
call fcn.00424604
cmp esi, 3
je 0x428967
mov eax, dword [ebp - 0x14]
xor edx, edx
mov dl, 0xb7
call fcn.00421ec0
inc esi
jmp 0x428946
pop esi
mov al, 8
call fcn.0042438c
mov ax, 0x879e
call fcn.004245f8
mov eax, esi
and eax, 3
inc eax
call fcn.00424604
xor al, al
test byte [ebx + 1], 1
jne 0x42898d
mov al, 4
call fcn.0042438c
jmp 0x428cfa
cmp al, 0x1b
jb 0x4289e8
lea eax, [ebx + 0xc1]
test byte [ebx + 1], 1
je 0x4289be
mov edx, dword [ebp - 0x14]
movzx ecx, byte [eax]
mov dword [edx], ecx
jecxz 0x4289b6
inc eax
inc edx
inc edx
jmp 0x4289aa
push 8
pop eax
call fcn.0042438c
mov ax, 0x878c
call fcn.004245f8
mov eax, esi
and eax, 0xf
sub eax, 3
call fcn.00424604
xor al, al
test byte [ebx + 1], 1
jne 0x4289de
mov al, 4
call fcn.0042438c
jmp 0x428cfa
cmp al, 0x1a
jb 0x4289f2
mov ax, 0x84c5
jmp 0x428a11
cmp al, 0x19
jb 0x428a09
mov ax, 0x84ab
call fcn.004245f8
mov eax, esi
and eax, 0xf
jmp 0x428cb7
cmp al, 0x17
jb 0x428a17
add ax, 0x8492
nop
jmp 0x428c9d
cmp al, 0x12
jb 0x428a93
push 4
push eax
mov eax, esi
or al, al
je 0x428a55
cmp al, 0x15
ja 0x428a55
xor al, al
imul eax, eax, 0x100
add eax, 0x58f11b
cmp byte [eax], 0x1a
jne 0x428a55
cmp byte [eax + 2], 0
je 0x428a55
mov ax, 0x84e0
call fcn.004245f8
mov al, 8
call fcn.0042438c
mov byte [esp + 4], 0
pop eax
mov ax, word [eax*2 + 0x428a65]
call fcn.004245f8
mov edx, dword [edi + 0x11]
and edx, 0xf
sub edx, 2
call fcn.00421cf0
mov dl, 0x2d
call fcn.00421ed0
and esi, 0xf
lea eax, [esi + 1]
call fcn.00424604
pop eax
jmp 0x428cf5
cmp al, 0x11
jne 0x428aa2
lea eax, [ecx + 0x829f]
jmp 0x428b3a
cmp al, 0x10
jne 0x428aac
mov ax, 0x80be
jmp 0x428ab4
cmp al, 0xe
jne 0x428ad0
mov ax, 0x80bd
call fcn.004245f8
xor eax, eax
call fcn.0042438c
and esi, 7
add esi, 0x31
mov eax, dword [ebp - 0x14]
mov dword [eax], esi
jmp 0x428cf3
cmp al, 7
jne 0x428b40
mov edx, esi
shr edx, 0xc
imul edx, edx, 0x11
mov ebx, 0x57f0b9
mov ax, 0x80af
cmp byte [edx + ebx], 3
jne 0x428aef
mov ax, 0x8293
push edx
call fcn.004245f8
and esi, 0xf
lea eax, [esi + 1]
call fcn.00424604
imul esi, esi, 0x11
movzx esi, byte [esi + ebx]
pop edx
or esi, esi
je 0x428cbc
cmp byte [edx + ebx], 3
jne 0x428b29
xor eax, eax
call fcn.0042438c
mov eax, dword [esi*2 + 0x4ad0a2]
jmp 0x428cee
mov edx, 0x20003a
call fcn.00421ec0
movzx eax, byte [esi + 0x4ad0ac]
nop
jmp 0x428c9d
cmp al, 6
jne 0x428b99
mov ax, 0x80af
call fcn.004245f8
mov al, 0xd0
call fcn.0042438c
mov eax, esi
shr eax, 4
and eax, 0xf
neg eax
add eax, 2
call fcn.00424604
mov dl, 0x2d
call fcn.00421ed0
mov edx, esi
and edx, 0xf
call fcn.00421cf0
mov al, 4
call fcn.0042438c
movzx eax, byte [ebx + 2]
dec eax
js 0x428cfa
add ax, 0x80b0
call fcn.004245f8
mov al, 0x38
jmp 0x428cf5
cmp al, 5
jne 0x428bad
push ecx
mov ax, 0x804d
call fcn.004245f8
pop eax
jmp 0x428cb7
cmp al, 4
jne 0x428bd4
mov edx, dword [ebp - 0x14]
mov byte [edx], ah
mov eax, esi
call fcn.0042253c
cmp byte [ebx + 2], 0
je 0x428c20
xor eax, eax
call fcn.0042438c
movzx eax, byte [ebx + 2]
add ax, 0x8190
jmp 0x428c30
cmp al, 3
jne 0x428bf9
mov ax, 0x8033
call fcn.004245f8
xor eax, eax
call fcn.0042438c
mov eax, esi
and ah, 0xf
not eax
call fcn.00424604
jmp 0x428cf3
cmp al, 2
jne 0x428cc0
mov al, byte [ebx]
cmp al, 0xa
jne 0x428c36
mov ax, 0x8085
call fcn.004245f8
lea eax, [esi - 0x2b]
and eax, 7
call fcn.00424604
xor eax, eax
cmp al, byte [ebx + 0x18]
nop
je 0x428c5a
call fcn.0042438c
movzx eax, byte [ebx + 2]
add ax, 0x824d
nop
jmp 0x428cee
mov edi, ecx
cmp al, 0xb
jne 0x428c42
mov ax, 0x8032
jmp 0x428c65
cmp al, 0xc
jne 0x428c5d
mov ax, 0x802e
call fcn.004245f8
lea edx, [edi + 0x5d0030]
call fcn.00421ec0
nop
jmp 0x428cbc
cmp al, 0xd
jne 0x428c6f
mov ax, 0x802f
call fcn.004245f8
lea eax, [edi + 1]
jmp 0x428cb7
cmp al, 0xf
jne 0x428ca4
lea eax, [di - 0x7fde]
cmp edi, 7
jne 0x428c94
movzx edx, byte [0x4ad264]
imul edx, edx, 0x11
cmp byte [edx + 0x57f0b9], 3
jne 0x428c94
mov ax, 0x85d1
cmp edi, 0xc
jne 0x428c9d
mov ax, 0x8347
call fcn.004245f8
jmp 0x428cbc
cmp al, 0x13
jne 0x428cfa
mov ax, 0x80be
call fcn.004245f8
lea eax, [esi - 0x31]
and eax, 0x7f
call fcn.00424604
mov al, 4
jmp 0x428cf5
dec eax
jne 0x428cfa
mov ebx, ecx
mov ax, 0x801d
call fcn.004245f8
mov eax, esi
movzx eax, al
add eax, 0xfffffffe
call fcn.00424604
or ebx, ebx
je 0x428cbc
xor eax, eax
call fcn.0042438c
mov ax, word [ebx*2 + 0x4ad08a]
call fcn.004245f8
mov al, 8
call fcn.0042438c
nop
jmp 0x428761
popal
call fcn.00423ac8
jmp 0x4296fe
pushal
mov esi, dword [ebp - 0x10]
movzx eax, byte [esi + 0x18]
mov eax, dword [eax*4 + 0x4ad020]
mov dword [ebp + 0x10], eax
movzx esi, byte [esi + 0x11]
mov ebx, dword [ebp + 0x14]
push ebp
mov edx, fcn.00423a14
mov eax, 0xc0c0c0
cmp esi, 0x38
je 0x428d3d
cmp esi, 0x39
jne 0x428dcd
call edx
call fcn.00428dbc
test byte [ebx + 0x10], 4
jne 0x428d64
mov dword [edi + 0xc], 0xe0e0e0
push 1
push 9
mov eax, dword [ebp - 0x20]
dec eax
push eax
mov eax, dword [ebp - 0x1c]
dec eax
push eax
call fcn.004239ac
mov dword [edi + 0xc], 0x808080
push 0
push 8
mov eax, dword [ebp - 0x20]
dec eax
dec eax
push eax
mov eax, dword [ebp - 0x1c]
dec eax
dec eax
push eax
call fcn.004239ac
mov dword [edi + 0xc], 0xc0c0c0
mov al, 1
call fcn.00423db0
push 0x14
push 8
add eax, 0x1e
cmp esi, 0x39
jne 0x428d9d
add eax, 0x14
push eax
push 9
call fcn.004238fc
test byte [ebx + 0x10], 4
je 0x428db2
mov dword [edi + 8], 0x808080
mov eax, 0x1000019
push 2
pop edx
jmp 0x428e19
cmp esi, 0x37
jne 0x428dd9
mov eax, dword [ebp + 0x10]
call edx
jmp 0x428e1e
call edx
call fcn.00428dbc
mov eax, dword [ebp + 0x10]
mov dword [edi + 8], eax
xor eax, eax
cmp esi, 0x32
je 0x428df6
bts eax, 0x18
cmp esi, 0x33
jne 0x428e1e
mov esi, eax
test byte [ebx + 0x10], 4
je 0x428e16
mov dword [edi + 8], 0x808080
lea eax, [esi + 1]
cdq
inc edx
call fcn.00423d0c
mov dword [edi + 8], 0xe0e0e0
mov eax, esi
cdq
call fcn.00423d0c
call fcn.00423ac8
call fcn.00423ad0
pop eax
popal
mov eax, dword [ebp + 0x14]
cmp dword [eax], 2
jne 0x42914f
lea esi, [eax + 0x1c]
lea edi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x28]
sub dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x24]
sub dword [ebp - 0x1c], eax
mov eax, 0xffffff
call fcn.00423a14
mov eax, dword [ebp + 0x14]
cmp dword [eax + 8], 0
jl 0x42913c
cmp dword [eax], 3
je 0x42913c
mov eax, dword [ebp + 0x14]
test byte [eax + 0x10], 0x10
je 0x428ec5
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x11], 0x22
je 0x428ec5
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x11], 0x23
je 0x428ec5
mov eax, dword [ebp - 0x30]
mov dword [eax + 0xc], 0xfff0f0
push ebp
push 0
push 0
mov eax, dword [ebp - 0x20]
dec eax
push eax
mov eax, dword [ebp - 0x1c]
dec eax
push eax
call fcn.004238fc
pop ecx
mov eax, dword [ebp - 0x30]
mov dword [eax + 0xc], 0xffc0c0
push ebp
push 0
push 0
mov eax, dword [ebp - 0x20]
dec eax
push eax
mov eax, dword [ebp - 0x1c]
dec eax
push eax
call fcn.004239ac
pop ecx
mov eax, dword [ebp - 0x30]
xor edx, edx
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp + 0x14]
mov edx, dword [eax + 8]
push edx
push 0x189
mov eax, dword [eax + 0x14]
push eax
call fcn.00403a80
cmp dword [ebp - 0x18], 0x325
jne 0x428ef4
call fcn.0042371c
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x11], 0x22
jne 0x428f7a
pushal
mov eax, dword [ebp - 0x14]
call fcn.00421b18
mov esi, eax
call fcn.0041ece4
mov eax, dword [eax*4 + 0x4ad214]
mov edx, dword [ebp - 0x30]
mov dword [edx + 0xc], eax
push ebp
push 0
push 0
mov eax, dword [ebp - 0x20]
dec eax
push eax
mov eax, dword [ebp - 0x1c]
dec eax
push eax
call fcn.004238fc
pop eax
xor ebx, ebx
mov eax, dword [ebp - 0x14]
mov edx, esi
mov ecx, ebx
call fcn.0041ed9c
movzx edi, word [ebx*2 + 0x4ad238]
mov al, 0xb
bt eax, ebx
jae 0x428f55
xor eax, eax
call fcn.00423db0
sub edi, eax
cmp ebx, 2
jne 0x428f5e
bts edi, 0x18
mov eax, edi
push 2
pop edx
call fcn.00423d0c
inc ebx
lea eax, [ebx + 0x5f]
cmp al, byte [0x4b32b0]
jbe 0x428f31
popal
jmp 0x42913c
cmp dword [ebp - 0x18], 0x34a
jne 0x429086
pushal
mov eax, dword [ebp - 0x14]
call fcn.00421b18
mov dword [ebp - 0xc], eax
mov esi, dword [ebp - 0x30]
mov dword [esi + 8], 0xffffff
mov dword [esi + 0xc], 0x800000
push ebp
xor ebx, ebx
cmp eax, 0xfffffff
jne 0x428ff6
mov ax, 0x351
call fcn.0042235c
mov dx, 0x8705
dec eax
js 0x428fc2
mov dx, 0x8736
mov eax, dword [ebp - 0x14]
call fcn.00421e64
add dword [ebp - 0x1c], 3
xor eax, eax
mov edx, dword [ebp - 0x20]
inc bh
xor edi, edi
jmp 0x42904b
push dword [ebp - 0x14]
push dword [ebp - 0xc]
push ebx
call fcn.00422ef0
mov ecx, 0x428fd9
movzx eax, word [ecx + ebx*2]
movzx edx, word [ecx + ebx*2 + 2]
sub edx, 3
lea edi, [eax + 0xa]
cmp ebx, 2
jne 0x42902d
cmp byte [ebp - 0xb], bh
je 0x42902d
xor ecx, ecx
call fcn.00428fe5
add edi, 0x17c
or ebx, ebx
jne 0x429051
mov ecx, dword [ebp - 0x14]
cmp word [ecx], 0
je 0x42906a
test byte [ebp - 9], 1
jne 0x429044
shr dword [esi + 0xc], 8
mov cl, 1
call fcn.00428fe5
add edi, 0x1000041
push eax
push 0
push edx
mov eax, dword [ebp - 0x1c]
sub eax, 3
push eax
call fcn.004238fc
mov eax, edi
cdq
inc edx
call fcn.00423d0c
and dword [esi + 8], 0
mov dword [esi + 0xc], 0xffffc0
inc ebx
cmp ebx, 5
jb 0x428ff6
pop ebp
popal
jmp 0x42913c
mov eax, 1
call fcn.0042379c
mov dword [ebp - 4], 5
cmp dword [ebp - 0x18], 0x226
jne 0x4290f3
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 8]
mov eax, dword [0x4ad04c]
jecxz 0x4290d4
cmp byte [0x2dba9e0], 0x12
jne 0x4290c1
neg ecx
mov eax, dword [ecx*4 + 0x4ad04c]
jmp 0x4290d4
mov cl, byte [ecx + 0x571120]
mov cl, byte [ecx + 0x4ad174]
mov eax, dword [ecx*4 + 0x4ad028]
mov edx, dword [ebp - 0x30]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 4], eax
sub eax, 5
push ebp
push 1
push 1
push eax
push eax
call fcn.004238fc
pop eax
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x11], 0x1f
jne 0x42910e
xor eax, eax
call fcn.00423db0
mov edx, dword [ebp - 0x20]
sub edx, eax
sub edx, 0xa
add dword [ebp - 4], edx
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0x11]
cmp al, 0x20
jne 0x429122
xor eax, eax
call fcn.00424610
jmp 0x42913c
cmp al, 0x21
jne 0x42912f
mov al, 2
call fcn.00424610
jmp 0x42913c
mov edx, 2
mov eax, dword [ebp - 4]
call fcn.00423d0c
mov eax, dword [ebp - 0x24]
shl eax, 0x10
add eax, dword [ebp - 0x28]
call fcn.00423a50
call fcn.00423ad0
mov eax, dword [ebp + 0x14]
cmp dword [eax], 3
jne 0x4296fe
test byte [eax + 0x11], 0x10
je 0x4296fe
pushal
mov ebx, eax
mov edi, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
push 0x34
pop dword [eax]
push eax
mov esi, dword [edi + 0xc]
push esi
call fcn.00403c90
push esi
call fcn.00403b80
mov dword [ebp - 0x3c], eax
push eax
push esi
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.00403be8
mov eax, dword [ebp - 0x28]
sub dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x24]
sub dword [ebp - 0x1c], eax
mov eax, 0xc0c0c0
test byte [ebx + 0x10], 4
jne 0x4291ad
mov eax, 0xffffff
call fcn.00423a14
mov esi, dword [ebp - 0x30]
add esi, 0xc
xor eax, eax
mov dword [ebp + 0x10], eax
mov dword [esi], eax
mov eax, dword [ebp - 0x18]
push ebp
cmp ax, word [0x57ed64]
jne 0x429211
mov dword [esi], 0xfff0f0
push 1
push 1
mov eax, dword [ebp - 0x20]
dec eax
dec eax
push eax
mov eax, dword [ebp - 0x1c]
dec eax
dec eax
push eax
call fcn.004238fc
and dword [esi], 0
push 1
call fcn.00403b20
or ah, ah
je 0x429211
mov byte [esi + 2], 0xc0
push 1
push 1
mov eax, dword [ebp - 0x20]
dec eax
dec eax
push eax
mov eax, dword [ebp - 0x1c]
dec eax
dec eax
push eax
call fcn.004239ac
inc dword [ebp + 0x10]
test byte [ebx + 0x10], 0x10
je 0x42921b
mov byte [esi + 2], 0xc0
test byte [ebx + 0x10], 4
je 0x429227
mov dword [esi], 0x808080
push 0
push 0
mov eax, dword [ebp - 0x20]
dec eax
push eax
mov eax, dword [ebp - 0x1c]
dec eax
push eax
call fcn.004239ac
and dword [esi], 0
test byte [ebx + 0x10], 0x10
jne 0x42925a
mov eax, dword [ebp - 0x18]
cmp ax, word [0x57ed64]
jne 0x42925e
push 1
call fcn.00403b20
or ah, ah
je 0x42925e
mov byte [esi + 2], 0xc0
test byte [ebx + 0x10], 4
je 0x42926a
mov dword [esi], 0x808080
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x14]
push edx
push dword [ecx + 0x18]
mov eax, dword [ecx + 0x1c]
add edx, eax
shr edx, 1
mov dword [ebp - 0x34], edx
dec eax
push eax
mov eax, dword [ecx + 0x20]
dec eax
push eax
call fcn.004239ac
cmp dword [ebx + 8], 0
jl 0x429321
mov edx, dword [edi + 0x25]
or edx, edx
js 0x429321
mov eax, dword [esi]
mov dword [esi - 4], eax
push dword [ebp - 0x14]
push edx
push 0x148
push dword [edi + 0xc]
call fcn.00403a80
cmp byte [edi + 0x11], 0x20
jne 0x4292c4
mov al, 1
call fcn.00424610
jmp 0x429321
cmp dword [ebp - 0x18], 0x324
jne 0x4292d2
call fcn.0042371c
xor eax, eax
call fcn.0042379c
test byte [ebx + 0x10], 4
je 0x4292f3
mov eax, 0x1000006
push 4
pop edx
call fcn.00423d0c
mov dword [esi - 4], 0xe0e0e0
cmp dword [ebp + 0x10], 0
je 0x429314
mov dword [esi - 4], 0xffc0c0
mov eax, 0x1000006
push 4
pop edx
call fcn.00423d0c
mov dword [esi - 4], 0xc00000
mov eax, 0x1000005
push 3
pop edx
call fcn.00423d0c
test byte [ebx + 0x10], 4
je 0x429348
xor edi, edi
mov eax, dword [ebp - 0x34]
add eax, edi
push eax
lea edx, [edi - 0xc]
neg edx
push edx
inc eax
push eax
call fcn.0042396c
inc edi
cmp edi, 4
jbe 0x429329
mov dword [esi], 0xe0e0e0
xor edi, edi
mov eax, dword [ebp - 0x34]
sub eax, edi
push eax
lea edx, [edi - 0xc]
neg edx
push edx
lea eax, [eax + edi*2]
push eax
call fcn.0042396c
inc edi
cmp edi, 4
jbe 0x42934a
pop eax
mov eax, dword [ebp - 0x26]
mov ax, word [ebp - 0x28]
call fcn.00423a50
call fcn.00423ad0
call fcn.00403b90
popal
jmp 0x4296fe
cmp word [ebp + 0x10], 0
jne 0x4293b9
cmp dword [ebp - 0x2c], 0x2c1
jne 0x4293b9
cmp byte [0x4ad260], 0
jbe 0x4296fe
mov eax, 0x2c1
call fcn.00422088
mov eax, dword [0x57118a]
push eax
call fcn.00403b78
jmp 0x4296fe
cmp word [ebp + 0x10], 0
je 0x4293fd
movzx eax, byte [0x4ad260]
mov eax, dword [eax*4 + 0x57d4d0]
cmp eax, dword [ebp - 0x2c]
je 0x4293fd
cmp dword [ebp - 0x2c], 0xc8
je 0x4293fd
movzx eax, byte [0x4ad260]
mov eax, dword [eax*4 + 0x57d4d0]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
mov eax, dword [eax*2 + 0x571158]
push eax
call fcn.00403b78
cmp byte [0x4ad27c], 0
je 0x4296fe
cmp dword [ebp - 0x2c], 1
jne 0x4296fe
mov byte [0x4ad27c], 0
xor eax, eax
mov dword [ebp - 0x34], eax
push 0x57e538
push 0x3ff
call fcn.00403968
mov eax, 0x57e538
call fcn.00421b88
mov dword [ebp + 0x14], eax
push 0x57ed90
mov eax, 0x57e538
mov dx, 0x37a
call fcn.00421e64
push eax
call fcn.00403980
mov dword [ebp + 0x10], eax
cmp dword [ebp + 0x10], 0xffffffff
je 0x429509
mov edx, dword [ebp + 0x14]
mov eax, 0x57e538
and dword [eax + edx*2 + 2], 0
mov edx, 0x57edbc
call fcn.00421e4c
mov edx, eax
mov al, 3
call fcn.0041d3fc
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cmp eax, 0xffffffff
je 0x429500
push 0
lea edx, [ebp - 0x18]
push edx
push 0xc8
push 0x57efe0
push eax
call fcn.00403948
cmp dword [ebp - 0x18], 0xc8
jne 0x4294f7
mov ecx, 0xc4
lea edx, [0x57efe0]
mov al, byte [edx]
inc edx
sub byte [0x57f0a4], al
xor al, 0x68
sub byte [0x57f0a5], al
rol al, 3
sub byte [0x57f0a6], al
not al
rol al, 1
sub byte [0x57f0a7], al
loop 0x4294b7
cmp dword [edx], ecx
jne 0x4294f7
mov cl, 0xc4
mov al, 0x5f
lea edx, [0x57efe0]
xor byte [edx], al
rol al, 1
add al, 0x55
inc edx
loop 0x4294eb
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0xc]
push eax
call fcn.00403918
mov eax, dword [ebp + 0x10]
push eax
call fcn.00403920
mov edx, 0x57f05c
xor eax, eax
mov byte [edx + 0x47], al
cmp dword [ebp - 0x34], eax
je 0x429524
cmp byte [edx - 0x10], al
je 0x429524
cmp byte [edx], al
jne 0x42952b
inc byte [edx + 0x47]
call fcn.00422878
jmp 0x429530
call fcn.00422960
pushal
mov edi, 0x2dbd73c
push edi
mov esi, dword [0x4ae02c]
xor ebx, ebx
lodsb al, byte [esi]
or al, al
je 0x4295b9
cmp al, 0x22
jne 0x42953f
xor ebx, 1
jne 0x42953f
lodsb al, byte [esi]
or al, al
je 0x4295b9
lodsb al, byte [esi]
movzx eax, al
or al, al
je 0x42955f
stosw word es:[edi], ax
inc ebx
jmp 0x429552
and dword [edi], 0
pop edi
or ebx, ebx
je 0x4295b9
mov esi, ebx
dec esi
js 0x42959c
cmp word [edi + esi*2], 0x5c
jne 0x429569
and word [edi + esi*2], 0
add esi, esi
je 0x429588
push esi
push edi
push 0x2dbcf3c
call fcn.00403878
add ebx, ebx
sub ebx, esi
push ebx
lea eax, [esi + edi + 2]
push eax
push edi
call fcn.00403878
or esi, esi
jne 0x4295ab
push 0x2dbcf3c
push 0x3ff
call fcn.00403968
mov byte [0x4c329a], 0x82
xor eax, eax
call fcn.0041df24
popal
jmp 0x4296fe
mov eax, dword [ebp + 0x14]
push 0xf
pop edx
cmp dword [eax], 3
je 0x4295d5
mov dl, 0x14
cmp dword [eax], 2
jne 0x4296fe
mov dword [eax + 0x10], edx
jmp 0x4296fe
cmp dword [ebp - 0x2c], 1
jne case.0x424994.515
mov eax, dword [ebp + 0x14]
mov dword [eax + 0x1c], 0x2ee
mov dword [eax + 0x18], 0x3ca
jmp 0x4296fe
cmp byte [ebp - 0x35], 0
jne 0x429612
push 0
call fcn.004039f0
mov dword [ebp - 0x4c], eax
jmp 0x4296fe
mov eax, dword [0x2dbcf38]
mov dword [ebp - 0x4c], eax
jmp 0x4296fe
cmp dword [ebp - 0x2c], 1
jne case.0x424994.515
pushal
mov edi, 0x2dca070
lea esi, [edi + 0x16]
mov eax, 0x2dc3f3c
call fcn.00429661
xor ebx, ebx
mov eax, ebx
shl eax, 0xc
push eax
add eax, 0x2dbef3c
call fcn.00429661
pop eax
add eax, 0x2dbf73c
call fcn.00429661
inc ebx
cmp ebx, 5
jb 0x42963e
jmp 0x42967d
mov al, byte [0x4ad248]
mov ah, byte [0x4ad24c]
mov dword [esi], eax
inc esi
inc esi
sub edi, 0x16
mov eax, edi
mov dl, 0xec
add byte [eax], dl
rol byte [eax], 3
add dl, 0x11
inc eax
cmp eax, esi
jbe 0x429693
sub esi, edi
mov al, 2
mov edx, 0x57d530
call fcn.0041d3fc
cmp eax, 0xffffffff
je 0x4296c7
push eax
push 0
lea edx, [ebp + 0x10]
push edx
push esi
push edi
push eax
call fcn.00403940
call fcn.00403918
push 0
call fcn.00403a98
popal
jmp 0x4296fe
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov edx, fcn.00403a88
mov eax, dword [ebp - 0x40]
cmp byte [eax + 0x10], 0
je 0x4296f9
cmp byte [eax + 0x10], 2
je 0x4296f9
mov edx, 0x403a90
push dword [eax + 0x21]
call edx
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x14]
push eax
call fcn.004038a0
mov eax, dword [ebp - 0x4c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10