Function at 0x424cf8
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x470
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x68], 0xab10a513
mov dword [esp + 0x6c], 0xaf0fa901
mov dword [esp + 0x70], 0xb35ead1d
mov dword [esp + 0x74], 0xb708b119
mov dword [esp + 0x78], 0xbbb4b51d
mov dword [esp + 0x7c], 0
mov word [esp + 0x80], 0
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
cmp eax, 0x19
ja 0x422ac5
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
movzx ecx, byte [esp + ecx + 0x68]
lea edx, [eax + 0x6429ac5]
mov esi, ecx
not esi
or esi, edx
and edx, ecx
add edx, esi
neg edx
add eax, edx
add eax, 0x6429ac4
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
add al, 0x9d
mov ecx, dword [esp + 0x14]
mov byte [esp + ecx + 0x68], al
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, 0x1a
jb 0x422a80
lea ebx, [esp + 0x68]
lea ecx, [esp + 0x54]
push ebx
call fcn.00438fa0
shr eax, 0x1f
xor edx, edx
jmp dword [eax*4 + 0x445864]
jmp dword [0x445870]
mov edi, dword [esp + 0x24]
add edi, 4
xor eax, eax
cmp edi, dword [esp + 0x34]
setne al
jmp dword [eax*4 + 0x44589c]
mov dword [esp + 0x24], edi
mov edi, dword [edi]
push 0x400
push 0
push ebx
call fcn.00408f30
add esp, 0xc
lea eax, [esp + 0x38]
lea ecx, [esp + 0x54]
push eax
push 0x400
push ebx
push edi
call fcn.00439660
xor ecx, ecx
cmp eax, 0xc0000000
setae cl
jmp dword [ecx*4 + 0x4458a4]
xor ecx, ecx
cmp dword [esp + 0x38], 0
sete cl
mov eax, 1
jmp dword [ecx*4 + 0x4458ac]
mov ecx, dword [case.0x423153.10]
nop
xor eax, eax
jmp ecx
jmp dword [eax*4 + 0x4458c4]
mov byte [esp + 0x467], 0
movzx ecx, byte [esp + 0x68]
xor eax, eax
test cl, cl
je 0x422b92
mov edx, ebx
cmp cl, 0x2e
je 0x422b90
movzx ecx, byte [edx + 1]
inc edx
test cl, cl
jne 0x422b80
jmp 0x422b92
mov eax, edx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4458cc]
lea edx, [eax + 1]
movzx ecx, byte [eax + 1]
xor edi, edi
test cl, cl
mov dword [esp + 0xc], edx
je 0x422bd6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp cl, 0x2e
je 0x422bd0
movzx ecx, byte [edx + 1]
inc edx
test cl, cl
jne 0x422bc0
jmp 0x422bd2
mov edi, edx
mov edx, dword [esp + 0xc]
xor ecx, ecx
test edi, edi
setne cl
jmp dword [ecx*4 + 0x4458d4]
mov ecx, edi
sub ecx, edx
lea ebx, [ecx + ecx*2]
shr ebx, 2
movzx eax, byte [eax + ecx]
cmp eax, 0x3d
je 0x422bfc
cmp eax, 0x2e
jne 0x422bfd
dec ebx
movzx eax, byte [ecx + edx - 2]
cmp eax, 0x3d
mov dword [esp + 0x2c], ecx
je 0x422c10
cmp eax, 0x2e
jne 0x422c11
dec ebx
mov dword [esp + 0x64], ebx
lea eax, [ebx + 1]
push eax
call fcn.00408da0
add esp, 4
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0xc]
cmp edi, edx
je 0x422d48
xor ebx, ebx
mov edi, 2
jmp 0x422c58
mov edx, dword [esp + 0xc]
lea eax, [edi + 4]
add edi, 2
mov ebx, dword [esp + 0x20]
cmp edi, ecx
mov edi, eax
jae 0x422d48
movzx eax, byte [edx + edi - 2]
push eax
mov esi, edx
call fcn.00418d90
add esp, 4
mov byte [esp + 0x20], al
movzx eax, byte [esi + edi - 1]
push eax
call fcn.00418d90
add esp, 4
movzx ecx, byte [esp + 0x20]
shl cl, 2
mov edx, eax
shr dl, 4
and dl, 3
or dl, cl
mov ecx, dword [esp + 0x28]
mov byte [ecx + ebx], dl
lea edx, [ebx + 1]
mov ecx, dword [esp + 0x2c]
cmp edi, ecx
mov dword [esp + 0x20], edx
jae 0x422c40
mov byte [esp + 0xb], al
mov dword [esp + 0x50], ebx
mov esi, dword [esp + 0xc]
movzx eax, byte [esi + edi]
push eax
call fcn.00418d90
mov ecx, dword [esp + 0x30]
add esp, 4
cmp al, 0x40
mov edx, esi
je 0x422c44
mov byte [esp + 0xa], al
movzx eax, al
mov ecx, eax
not ecx
or ecx, 0x3c
add eax, ecx
inc eax
mov ecx, dword [esp + 0x2c]
movzx ebx, byte [esp + 0xb]
shl bl, 4
shr eax, 2
add al, bl
mov esi, dword [esp + 0x50]
lea ebx, [esi + 2]
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x28]
mov byte [ebx + esi + 1], al
lea eax, [edi + 1]
cmp eax, ecx
jae 0x422c44
movzx eax, byte [edx + edi + 1]
push eax
call fcn.00418d90
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x10]
add esp, 4
cmp al, 0x40
mov ah, byte [esp + 0xa]
je 0x422c44
shl ah, 6
add al, ah
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x50]
mov byte [ebx + esi + 2], al
add esi, 3
mov dword [esp + 0x20], esi
jmp 0x422c44
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 0x28]
mov byte [edi + eax], 0
push edi
call fcn.00401f30
add esp, 4
mov ebx, eax
jmp dword [0x4458dc]
push edi
call fcn.00408db0
add esp, 4
mov edi, dword [esp + 0x24]
jmp dword [0x4458e4]
mov edi, dword [esp + 0x24]
jmp dword [0x4458e4]
push ebx
call fcn.004028e0
add esp, 4
nop
nop
nop
nop
nop
push ebx
call fcn.004028e0
add esp, 4
jmp dword [0x4458f0]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4458f4]
jmp 0x422edd
mov dword [esp + 0x38], 0xa304181b
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov byte [esp + 0x44], 0
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
cmp ecx, 0xc
ja 0x422e1f
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
movzx edx, byte [esp + edx + 0x38]
lea edi, [ecx + edx]
add ecx, 0x46
and ecx, edx
add ecx, ecx
sub edi, ecx
add edi, 0xe8495646
mov dword [esp + 4], edi
mov ecx, dword [esp + 4]
add cl, 0x16
mov edx, dword [esp + 0x10]
mov byte [esp + edx + 0x38], cl
inc dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
cmp ecx, 0xd
jb case.default.0x422e38
lea ecx, [esp + 0x38]
push ecx
push eax
call fcn.00402860
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
mov esi, dword [esp + 0x30]
jmp dword [ecx*4 + 0x4458fc]
movzx eax, byte [esp + 0x68]
test al, al
mov edi, dword [esp + 0x24]
je 0x422ecd
mov ecx, dword [esp + 0x60]
mov edx, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x422e60
jmp 0x422ecf
jmp dword [0x445908]
movzx ecx, byte [eax]
test cl, cl
je 0x422e8b
lea edx, [eax + 1]
nop
nop
nop
mov byte [esi], cl
inc esi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x422e80
mov word [esi], 0x203a
add esi, 2
jmp case.0x422e38.3
mov word [esi], 0x203a
add esi, 2
jmp dword [0x445910]
movzx ecx, byte [eax]
test cl, cl
je 0x422ea0
lea edx, [eax + 1]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], cl
inc esi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x422ec0
jmp 0x422ea0
mov edx, esi
mov byte [edx], 0xa
inc edx
mov dword [esp + 0x30], edx
mov al, 1
mov dword [esp + 0x4c], eax
push ebx
call fcn.00402b40
add esp, 4
add edi, 4
xor eax, eax
cmp edi, dword [esp + 0x34]
setne al
lea ebx, [esp + 0x68]
jmp dword [eax*4 + 0x44589c]
mov edx, dword [esp + 0x4c]
mov eax, edx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x445924]
mov edi, dword [esp + 0x48]
jmp dword [0x44592c]
mov esi, dword [esp + 0x30]
mov byte [esi], 0
mov edi, dword [esp + 0x48]
sub esi, edi
mov dword [esp + 0x68], 0x57a4a5d1
mov dword [esp + 0x6c], 0x5b4f4c55
mov dword [esp + 0x70], 0x565e5c51
mov dword [esp + 0x74], 0x5c543413
mov dword [esp + 0x78], 0x2f155641
mov dword [esp + 0x7c], 0x4d43444b
mov dword [esp + 0x80], 0x7b480f4b
mov word [esp + 0x84], 0xf146
mov dword [esp + 0x86], 0
mov word [esp + 0x8a], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x23
ja 0x422fe6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x68]
mov edx, eax
and edx, 0xf7da497d
xor eax, 0xf7da497d
lea eax, [eax + edx*2]
mov edx, eax
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
add al, 0x95
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x68], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x24
jb 0x422fa0
lea eax, [esp + 0x68]
mov ecx, dword [ebp + 8]
push esi
push edi
push eax
call fcn.00409850
mov edx, eax
jmp dword [0x44592c]
push edi
mov esi, edx
call fcn.00408db0
mov edx, esi
add esp, 4
mov eax, dword [case.0x423153.1]
and dl, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x14]
test eax, eax
je case.0x422ad8.1
cmp eax, dword [esp + 0x18]
je case.0x422ad8.1
push eax
mov esi, edx
call fcn.00408db0
mov edx, esi
add esp, 4
mov ebx, edx
lea ecx, [esp + 0x54]
call fcn.00439340
mov eax, dword [case.0x422bdd.30]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov dword [esp + 0x68], 0x25b1005
mov dword [esp + 0x6c], 0x18026d08
mov dword [esp + 0x70], 0xc050b69
mov dword [esp + 0x74], 0x671e1675
mov dword [esp + 0x78], 0x18734a66
mov dword [esp + 0x7c], 0x1f7c467d
mov dword [esp + 0x80], 0x1a617e62
mov dword [esp + 0x84], 0x267f244b
mov dword [esp + 0x88], 0x4648564a
mov dword [esp + 0x8c], 0x2e4b6559
mov dword [esp + 0x90], 0xb3624949
mov dword [esp + 0x94], 0
mov dword [esp + 0x97], 0
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
cmp eax, 0x32
ja 0x42312b
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
movzx ecx, byte [esp + ecx + 0x68]
lea edx, [eax + 0x7b893844]
add eax, 0x44
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x38]
add al, 0x24
mov ecx, dword [esp + 0x14]
mov byte [esp + ecx + 0x68], al
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, 0x33
jb case.default.0x423153
lea eax, [esp + 0x14]
lea ecx, [esp + 0x54]
push 0
push 0x2b
push ebx
push eax
call fcn.004397d0
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
xor eax, eax
cmp edi, ecx
sete al
xor edx, edx
mov dword [esp + 0x34], ecx
jmp dword [eax*4 + 0x445884]
mov eax, ecx
sub eax, edi
sar eax, 2
imul eax, eax, 0x421
push eax
call fcn.00408da0
mov ecx, dword [esp + 0x38]
add esp, 4
jmp dword [0x445894]
mov esi, eax
mov dword [esp + 0x4c], 0
lea eax, [esp + 0x69]
mov dword [esp + 0x60], eax
xor eax, eax
cmp edi, ecx
setne al
mov dword [esp + 0x48], esi
mov dword [esp + 0x30], esi
jmp dword [eax*4 + 0x44589c]
not eax
shr eax, 0x1f
xor edx, edx
jmp dword [eax*4 + 0x44587c]
lea ecx, [esp + 0x54]
push 0x410
call fcn.00439200
lea ecx, [esp + 0x54]
push 0x410
call fcn.00439200
jmp dword [0x445874]
int3
xor edx, edx
test eax, eax
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x4459bc]
jmp dword [ecx*4 + 0x445954]
mov dword [esp + 0x40], 0x63da65c2
mov dword [esp + 0x44], 0x6fa961a9
mov dword [esp + 0x48], 0x6bd16dd9
mov dword [esp + 0x4c], 0x57d669d6
mov dword [esp + 0x50], 0x53f055f1
mov dword [esp + 0x54], 0x5f9f51e1
mov dword [esp + 0x58], 0x5b945d93
mov dword [esp + 0x5c], 0x47ea59ed
mov dword [esp + 0x60], 0x43e0458d
mov dword [esp + 0x64], 0x4ff141ff
mov dword [esp + 0x68], 0x4bf04d84
mov dword [esp + 0x6c], 0x378749f3
mov dword [esp + 0x70], 0x33ff3588
mov dword [esp + 0x74], 0x3f8a3196
mov dword [esp + 0x78], 0x3ba83d91
mov dword [esp + 0x7c], 0x279339a0
mov dword [esp + 0x80], 0x23992582
mov dword [esp + 0x84], 0x2f8b21be
mov dword [esp + 0x88], 0x2bbf2d81
mov word [esp + 0x8c], 0x292a
mov dword [esp + 0x92], 0
mov dword [esp + 0x8e], 0
mov dword [esp + 0xac], 0
mov ecx, dword [esp + 0xac]
cmp ecx, 0x55
ja 0x423376
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xac]
movzx esi, byte [esp + edx + 0x40]
lea edi, [ecx - 0x33f54eef]
lea edx, [ecx + esi]
add edx, 0xcc0ab111
and edi, esi
add ecx, 0x11
and ecx, esi
add ecx, edi
mov esi, edx
not esi
and esi, ecx
not ecx
and ecx, edx
sub ecx, esi
mov dword [esp + 0xe4], ecx
mov ecx, dword [esp + 0xe4]
add cl, 0x89
mov edx, dword [esp + 0xac]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 0xac]
mov ecx, dword [esp + 0xac]
cmp ecx, 0x56
jb 0x423310
lea ecx, [esp + 4]
lea edx, [esp + 0x40]
push 0
push 0
push eax
push ecx
push edx
call fcn.0043db10
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x44595c]
lea edi, [esp + 0x30]
lea eax, [esp + 0xc]
push edi
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x24]
call fcn.0043df50
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x445964]
mov ecx, dword [esp + 0x30]
lea eax, [ecx + ecx]
add eax, 2
inc ecx
jns 0x4233d7
mov eax, 0xffffffff
push eax
call fcn.00408da0
add esp, 4
mov esi, eax
mov dword [esp + 0x40], 0x2b562569
mov dword [esp + 0x44], 0x2f5c295f
mov dword [esp + 0x48], 0x33402d49
mov dword [esp + 0x4c], 0x3760315e
mov dword [esp + 0x50], 0x3b403551
mov dword [esp + 0x54], 0x3f383952
mov word [esp + 0x58], 0
mov dword [esp + 0xac], 0
mov eax, dword [esp + 0xac]
cmp eax, 0x19
ja 0x423485
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xac]
movzx ecx, byte [esp + ecx + 0x40]
lea edx, [eax + ecx]
add eax, 0xa5
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0x5894fca5
mov dword [esp + 0xe4], edx
mov eax, dword [esp + 0xe4]
add al, 0x7d
mov ecx, dword [esp + 0xac]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 0xac]
mov eax, dword [esp + 0xac]
cmp eax, 0x1a
jb case.default.0x42349f
push edi
push esi
push 0
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x14]
call fcn.0043e5d0
add esp, 0x14
shr eax, 0x1f
mov ebx, esi
jmp dword [eax*4 + 0x44596c]
xor ebx, ebx
jmp dword [0x445974]
push esi
call fcn.00408db0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov dword [esp + 0x40], 0x3c3d3e3f
lea ecx, [esp + 0x44]
mov word [ecx + 4], 0
mov dword [ecx], 0
mov dword [esp + 0xac], 0
mov ecx, dword [esp + 0xac]
cmp ecx, 9
ja 0x423554
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xac]
movzx edx, byte [esp + edx + 0x40]
lea esi, [ecx - 0x1904aa58]
add ecx, 0xa8
and ecx, edx
or esi, edx
sub esi, ecx
mov dword [esp + 0xe4], esi
mov ecx, dword [esp + 0xe4]
add cl, 0x68
mov edx, dword [esp + 0xac]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 0xac]
mov ecx, dword [esp + 0xac]
cmp ecx, 0xa
jb 0x423500
mov ecx, dword [0x449a0c]
test ecx, ecx
je case.default.0x4235bc
mov edx, dword [esp + 0x40]
xor esi, esi
mov edi, dword [0x449a10]
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x11081610
je 0x423594
inc esi
cmp ecx, esi
jne 0x423570
jmp case.default.0x4235bc
mov eax, 4
xor ecx, ecx
cmp eax, 4
setl cl
jmp dword [ecx*4 + 0x4459ac]
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.default.0x4235bc
push eax
push 1
push dword [0x449a14]
push ecx
call fcn.0043a960
add esp, 0x10
nop
nop
xor ecx, ecx
test ebx, ebx
setne cl
mov eax, 2
jmp dword [ecx*4 + 0x44597c]
lea eax, [esp + 0x40]
push eax
call fcn.0043d020
add esp, 4
movzx edx, al
xor eax, eax
mov ecx, 1
jmp dword [edx*4 + 0x445984]
xor edx, edx
cmp dword [esp + 0x40], 1
sete dl
jmp dword [edx*4 + 0x44598c]
mov eax, 2
xor ecx, ecx
mov edx, dword [case.0x4235bc.8]
nop
jmp edx
jmp dword [ecx*4 + 0x4459a4]
xor ecx, ecx
cmp eax, 4
setl cl
jmp dword [ecx*4 + 0x4459ac]
xor eax, eax
xor ecx, ecx
cmp eax, 4
setl cl
jmp dword [ecx*4 + 0x4459ac]
xor edx, edx
cmp eax, 4
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x4459b4]
xor eax, eax
test ebx, ebx
sete al
jmp dword [eax*4 + 0x4459c4]
mov dword [esp], eax
mov dword [esp + 0x40], 0xc361c19c
mov dword [esp + 0x44], 0xc768c56b
mov dword [esp + 0x48], 0xcb63c96e
mov dword [esp + 0x4c], 0xcf92cd6b
mov dword [esp + 0x50], 0xd37dd173
mov dword [esp + 0x54], 0xd770d57a
mov dword [esp + 0x58], 0xdb7dd971
mov dword [esp + 0x5c], 0xdf68ddb2
mov dword [esp + 0x60], 0x23842184
lea eax, [esp + 0x64]
mov word [esp + 0x64], 0x2524
mov dword [esp + 0x66], 0
mov byte [esp + 0x6a], 0
mov dword [esp + 0xac], 0
mov ecx, dword [esp + 0xac]
cmp ecx, 0x2a
ja 0x423727
nop
nop
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xac]
movzx edx, byte [esp + edx + 0x40]
lea esi, [ecx + edx]
add esi, 0xdeb160e0
add ecx, 0xdeb160e0
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0xe4], esi
mov ecx, dword [esp + 0xe4]
add cl, 0xe0
mov edx, dword [esp + 0xac]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 0xac]
mov ecx, dword [esp + 0xac]
cmp ecx, 0x2b
jb 0x4236d0
lea edi, [esp + 0xac]
lea edx, [esp + 0x40]
mov ecx, 9
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xd0]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebx + eax + 2], 0
lea eax, [eax + 2]
jne 0x423760
cmp eax, 0xffffffd9
jge 0x42377e
mov eax, 0xffffffff
jmp 0x423781
xor eax, eax
jmp 0x424b0f
add eax, 0x26
push eax
call fcn.00408da0
add esp, 4
mov esi, eax
movzx ecx, word [ebx]
test cx, cx
je 0x4237b1
lea edx, [ebx + 2]
mov eax, esi
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4237a0
mov word [eax], 0
movzx ecx, word [esp + 0xac]
test cx, cx
je 0x4237e1
lea edx, [esp + 0xae]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4237d0
mov word [eax], 0
mov eax, dword [esp]
jmp dword [eax*4 + 0x4459cc]
jmp dword [0x4459d4]
jmp dword [0x445a9c]
add eax, 8
mov dword [esp + 0x24], 0
mov esi, dword [eax]
xor eax, eax
test esi, esi
setne al
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x18], ecx
jmp dword [eax*4 + 0x445acc]
add esi, 4
mov esi, dword [esi]
xor eax, eax
test esi, esi
setne al
mov edi, dword [esp + 0xe0]
jmp dword [eax*4 + 0x445acc]
mov ecx, dword [esi]
cmp dword [esi + 0x18], 3
jne case.default.0x42384c
mov edi, dword [esi + 0x10]
xor eax, eax
test ecx, ecx
setne al
jmp dword [eax*4 + 0x445ad4]
xor edi, edi
xor eax, eax
test ecx, ecx
setne al
jmp dword [eax*4 + 0x445ad4]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x445adc]
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xd4], esi
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
inc eax
cmp byte [ecx], 0
jne case.default.0x4238c0
sub ecx, edi
inc ecx
shr ecx, 1
mov dword [esp + 0x9c], ecx
lea eax, [ecx + 1]
push eax
call fcn.00408da0
add esp, 4
movsx ecx, byte [edi]
xor edx, edx
test ecx, ecx
setne dl
mov dword [esp + 0x34], eax
mov ebx, eax
jmp dword [edx*4 + 0x445ae4]
mov ebx, dword [esp + 0x38]
mov byte [ebx], cl
inc ebx
movsx ecx, byte [edi]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x445ae4]
mov dword [esp], edi
inc edi
mov edx, ecx
or edx, 0x20
lea esi, [edx - 0x61]
cmp esi, 5
mov dword [esp + 0x38], ebx
ja case.default.0x423913
xor edx, 0xffffff9e
and ecx, 0xffffff9e
lea ecx, [edx + ecx*2]
add ecx, 0xb
movsx edx, byte [edi]
xor ebx, ebx
test edx, edx
setne bl
jmp dword [ebx*4 + 0x445aec]
add ecx, 0xffffffd0
cmp ecx, 0xa
jb case.default.0x423937
mov ecx, 0xffffffff
movsx edx, byte [edi]
xor ebx, ebx
test edx, edx
setne bl
jmp dword [ebx*4 + 0x445aec]
shl ecx, 4
mov edi, dword [esp]
add edi, 2
mov eax, edx
or eax, 0x20
lea esi, [eax - 0x61]
cmp esi, 5
ja case.default.0x423973
xor eax, 0xffffff9e
and edx, 0xffffff9e
lea eax, [eax + edx*2]
add eax, 0xb
or eax, ecx
mov ebx, dword [esp + 0x38]
mov byte [ebx], al
inc ebx
movsx ecx, byte [edi]
xor eax, eax
test ecx, ecx
setne al
jmp dword [eax*4 + 0x445ae4]
add edx, 0xffffffd0
cmp edx, 0xa
mov ebx, dword [esp + 0x38]
jb case.default.0x4239a0
mov edx, 0xffffffff
or edx, ecx
mov byte [ebx], dl
inc ebx
movsx ecx, byte [edi]
xor eax, eax
test ecx, ecx
setne al
jmp dword [eax*4 + 0x445ae4]
mov dword [esp + 0x38], ebx
jmp dword [0x445af8]
movzx eax, byte [ebx]
test al, al
mov edx, dword [esp + 0x18]
je 0x4239cb
lea ecx, [ebx + 1]
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4239c0
mov word [edx], 0x203a
add edx, 2
mov edi, dword [esp + 0xc]
test edi, edi
je 0x423a11
mov eax, dword [esp + 0x10]
mov ecx, edi
and ecx, 3
je 0x423a15
mov dword [esp], edi
xor esi, esi
mov edi, edx
nop
nop
nop
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [edi + esi], dl
inc esi
cmp ecx, esi
jne 0x4239f0
mov ecx, dword [esp]
sub ecx, esi
add edi, esi
mov edx, edi
mov esi, edi
mov edi, dword [esp]
jmp 0x423a17
mov esi, edx
jmp 0x423a59
mov ecx, edi
cmp edi, 4
jb 0x423a59
mov edi, edx
nop
nop
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [edi], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [edi + 1], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [edi + 2], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
lea esi, [edi + 4]
mov byte [edi + 3], dl
mov edi, esi
add ecx, 0xfffffffc
jne 0x423a20
mov byte [esi], 0xa
inc esi
push 0x2e0ec9bb
push dword [0x449a00]
call fcn.0043c6f0
add esp, 8
push dword [esp + 0x10]
call eax
jmp 0x423b04
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x44], eax
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx + eax + 1], 0
lea eax, [eax + 1]
jne 0x423aa0
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
push 0x932a8d34
push dword [0x449a18]
call fcn.0043c6f0
add esp, 8
lea ecx, [esp + 4]
push edi
push 1
push 0
push 0
push ecx
push 0
push esi
call eax
jmp dword [0x445b3c]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x445b44]
jmp dword [0x445b50]
mov esi, dword [esp + 0x18]
movzx eax, byte [ebx]
test al, al
je 0x423b1b
lea ecx, [ebx + 1]
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x423b10
mov word [esi], 0x203a
mov eax, esi
add eax, 2
mov edx, dword [esp + 0xc]
test edx, edx
je 0x423b5e
mov ecx, dword [esp + 0x10]
mov esi, edx
and esi, 3
je 0x423b62
mov dword [esp], edx
xor edi, edi
nop
nop
nop
movzx edx, byte [ecx]
cmp dl, 1
sbb ecx, 0xffffffff
mov byte [eax + edi], dl
inc edi
cmp esi, edi
jne 0x423b40
mov edx, dword [esp]
mov esi, edx
sub esi, edi
add eax, edi
mov edi, eax
jmp 0x423b64
mov edi, eax
jmp 0x423ba9
mov esi, edx
cmp edx, 4
jb 0x423ba9
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [ecx]
cmp dl, 1
sbb ecx, 0xffffffff
mov byte [eax], dl
movzx edx, byte [ecx]
cmp dl, 1
sbb ecx, 0xffffffff
mov byte [eax + 1], dl
movzx edx, byte [ecx]
cmp dl, 1
sbb ecx, 0xffffffff
mov byte [eax + 2], dl
movzx edx, byte [ecx]
cmp dl, 1
sbb ecx, 0xffffffff
lea edi, [eax + 4]
mov byte [eax + 3], dl
mov eax, edi
add esi, 0xfffffffc
jne 0x423b70
mov byte [edi], 0xa
inc edi
mov dword [esp + 0x18], edi
push 0x2e0ec9bb
push dword [0x449a00]
call fcn.0043c6f0
add esp, 8
push dword [esp + 0x10]
call eax
mov al, 1
mov dword [esp + 0x24], eax
jmp dword [0x445b58]
mov esi, dword [esp + 0xd4]
jmp dword [0x445b5c]
mov ebx, dword [ecx]
xor eax, eax
jmp dword [eax*4 + 0x445b24]
add ecx, 8
xor eax, eax
cmp ecx, dword [esp + 0x2c]
setne al
jmp dword [eax*4 + 0x445b04]
cmp dword [esp + 0x3c], 0x22
setne al
mov edx, dword [ecx + 4]
mov esi, edx
shr esi, 0x1c
xor esi, edi
shl edx, 4
or edx, 1
xor edx, dword [esp + 0x14]
or edx, esi
sete dl
and dl, al
movzx eax, dl
jmp dword [eax*4 + 0x445b0c]
mov eax, dword [case.0x4235bc.104]
jmp eax
mov eax, 1
jmp dword [eax*4 + 0x445b24]
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x445b2c]
mov esi, dword [esp + 0xd4]
jmp dword [0x445b5c]
push dword [esp + 0x34]
call fcn.00408db0
add esp, 4
add esi, 4
mov esi, dword [esi]
xor eax, eax
test esi, esi
setne al
mov edi, dword [esp + 0xe0]
jmp dword [eax*4 + 0x445acc]
lea esi, [esp + 0x40]
lea edi, [esp + 0xc]
jmp dword [0x445b38]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x44], eax
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx + eax + 1], 0
lea eax, [eax + 1]
jne 0x423cc0
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
push 0x932a8d34
push dword [0x449a18]
call fcn.0043c6f0
add esp, 8
lea ecx, [esp + 4]
push edi
push 1
push 0
push 0
push ecx
push 0
push esi
call eax
jmp case.0x4235bc.111
xor ebx, ebx
xor eax, eax
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x2c]
setne al
jmp dword [eax*4 + 0x445b04]
mov byte [ebx], 0
mov eax, dword [esp + 0xdc]
inc eax
jmp 0x423d31
inc eax
movzx edx, byte [eax - 1]
movsx ecx, dl
lea esi, [ecx - 9]
cmp esi, 5
jb 0x423d30
cmp ecx, 0x20
je 0x423d30
movzx esi, dl
cmp esi, 0x2b
je 0x423d55
lea ecx, [eax - 1]
cmp esi, 0x2d
jne 0x423d5a
movzx edx, byte [eax]
mov ecx, eax
cmp dl, 0x30
jne 0x423d81
movsx eax, byte [ecx + 1]
mov edx, eax
not edx
or edx, 0xffffffdf
add edx, eax
xor eax, eax
cmp edx, 0x57
sete al
lea ecx, [ecx + eax*2]
jmp 0x423d81
inc ecx
movsx eax, byte [ecx]
lea edx, [eax - 0x30]
cmp edx, 0xa
jb 0x423d80
mov edx, eax
and edx, 0xffffffdf
add edx, 0xffffffbf
cmp edx, 0x19
ja case.0x4239a0.53
or al, 0x20
cmp al, 0x66
jle 0x423d80
mov byte [ebx], 0
mov eax, dword [esp + 0xdc]
lea ecx, [eax + 1]
jmp 0x423db1
inc ecx
movzx eax, byte [ecx - 1]
movsx edx, al
lea esi, [edx - 9]
cmp esi, 5
jb 0x423db0
cmp edx, 0x20
je 0x423db0
movzx edx, al
cmp edx, 0x2b
je 0x423dd6
cmp edx, 0x2d
jne 0x423f0d
cmp al, 0x2b
sete byte [esp + 0x23]
movzx eax, byte [ecx]
cmp al, 0x30
jne 0x423dfc
movsx eax, byte [ecx + 1]
mov edx, eax
not edx
or edx, 0xffffffdf
add edx, eax
xor eax, eax
cmp edx, 0x57
sete al
lea ecx, [ecx + eax*2]
xor ebx, ebx
mov dword [esp], 0
xor esi, esi
jmp 0x423e31
xor edi, edi
xor eax, eax
mov edx, 0xffffffff
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x3c], 0x22
add edi, edx
adc eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x3c]
mov dword [esp], edi
mov esi, eax
mov edx, esi
mov esi, dword [esp]
mov dword [esp + 0x3c], ebx
movsx eax, byte [ecx]
lea edi, [eax - 0x30]
cmp edi, 0xa
jb 0x423e6a
mov ebx, edx
mov edx, eax
and edx, 0xffffffdf
add edx, 0xffffffbf
cmp edx, 0x19
ja 0x423eea
or al, 0x20
cmp al, 0x66
jg 0x423eea
movsx edi, al
add edi, 0xffffffa9
mov edx, ebx
inc ecx
mov eax, esi
and eax, edx
mov dword [esp + 0x14], esi
mov dword [esp], 0xffffffff
mov ebx, 0x22
mov esi, 0xffffffff
cmp eax, 0xffffffff
je 0x423e31
mov eax, dword [esp + 0x14]
test edx, 0xf0000000
je 0x423eb0
mov dword [esp], 0xffffffff
test edi, edi
jne 0x423e31
jmp 0x423e09
mov esi, eax
shld edx, eax, 4
shl esi, 4
mov eax, edi
sar eax, 0x1f
mov ebx, edx
mov edx, edi
add edx, esi
mov edx, eax
mov dword [esp + 0x14], ebx
adc edx, ebx
mov edx, esi
mov dword [esp], 0xffffffff
mov esi, 0xffffffff
mov ebx, 0x22
jb 0x423e31
jmp 0x423e22
xor eax, eax
mov ecx, esi
neg ecx
mov edi, ebx
sbb eax, ebx
cmp byte [esp + 0x23], 0
jne 0x423eff
mov esi, ecx
mov edi, eax
mov dword [esp + 0x14], esi
mov ebx, dword [esp + 0x38]
jmp dword [0x445b00]
dec ecx
mov byte [esp + 0x23], 1
cmp al, 0x30
je 0x423de4
jmp 0x423dfc
mov esi, dword [esp + 0x30]
lea eax, [esi + 1]
push eax
call fcn.00408da0
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0x18]
call fcn.0043d720
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
mov dword [esp + 0x28], 0
jmp dword [eax*4 + 0x445a04]
mov esi, dword [esp + 0x30]
mov byte [edi + esi], 0
push 0x20
call fcn.00408da0
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov dword [esp + 0x24], eax
mov ecx, eax
push esi
mov dword [esp + 0x1c], edi
push edi
call fcn.004263a0
movzx eax, al
xor ebx, ebx
xor edx, edx
lea esi, [esp + 0x40]
jmp dword [eax*4 + 0x445a0c]
mov dword [esp + 0x40], 0xffcef4db
mov dword [esp + 0x44], 0xc4fecefb
mov dword [esp + 0x48], 0xffc3d73f
mov dword [esp + 0x4c], 0xea39c2f0
mov dword [esp + 0x50], 0xc0fbfeca
mov dword [esp + 0x54], 0xf2fd1e03
mov dword [esp + 0x58], 0xc7cec6cf
mov word [esp + 0x5c], 0x59c7
mov dword [esp + 0x62], 0
mov dword [esp + 0x5e], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x25
ja 0x42406c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x40]
mov edx, eax
and edx, 0xf777c851
xor eax, 0x7777c851
lea eax, [eax + edx*2]
mov edx, eax
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0xe4]
add al, 0xc9
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x26
jb 0x424020
mov ecx, dword [esp + 0x24]
push esi
call fcn.004265e0
xor ecx, ecx
test eax, eax
setne cl
xor edx, edx
jmp dword [ecx*4 + 0x445a14]
mov dword [esp + 0x28], edx
mov edi, dword [esp + 0x18]
jmp dword [0x445a24]
mov esi, dword [esp + 0x24]
mov ecx, esi
call fcn.00426770
push esi
call fcn.00408db0
add esp, 4
jmp dword [0x445a2c]
jmp dword [0x445a2c]
push edi
call fcn.00408db0
add esp, 4
mov eax, dword [case.0x4235bc.32]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
add eax, 8
xor ebx, ebx
mov esi, dword [eax]
xor eax, eax
test esi, esi
setne al
xor edx, edx
xor edi, edi
mov dword [esp + 0x3c], 0
jmp dword [eax*4 + 0x445a1c]
not eax
mov edx, dword [esp + 0x28]
mov dword [edx + edi*8 + 4], eax
add ebx, 8
add esi, 4
mov esi, dword [esi]
xor eax, eax
test esi, esi
setne al
mov edi, edx
jmp dword [eax*4 + 0x445a1c]
mov edx, dword [esi]
mov ecx, ebx
sub ecx, edi
sar ecx, 3
mov eax, dword [esp + 0x3c]
cmp ebx, eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x9c], esi
mov dword [esp], edx
je 0x424149
mov dword [esp + 0x2c], ebx
mov ebx, edi
jmp 0x4241be
lea eax, [ecx + 1]
mov esi, ecx
shr esi, 1
add esi, ecx
cmp esi, eax
ja 0x424158
mov esi, eax
lea eax, [esi*8]
push eax
call fcn.00408da0
add esp, 4
mov ebx, eax
test edi, edi
je 0x4241ad
mov edx, dword [esp + 0x3c]
cmp edi, edx
je 0x4241a4
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [edi + eax]
mov dword [ebx + eax], ecx
mov ecx, dword [edi + eax + 4]
mov dword [ebx + eax + 4], ecx
mov dword [edi + eax], 0
lea ecx, [edi + eax]
add ecx, 8
add eax, 8
cmp ecx, edx
jne 0x424180
mov edx, edi
push edx
call fcn.00408db0
add esp, 4
mov ecx, dword [esp + 0x14]
lea eax, [ebx + ecx*8]
mov dword [esp + 0x2c], eax
lea eax, [ebx + esi*8]
mov edx, dword [esp]
mov dword [esp + 0x3c], eax
mov dword [ebx + ecx*8], 0
mov dword [esp + 0x28], ebx
mov dword [ebx + ecx*8 + 4], 0
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, esi
inc esi
cmp byte [edx + ebx], 0
jne 0x4241e0
push esi
call fcn.00408da0
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov dword [eax + ecx*8], edi
mov ecx, esi
shr ecx, 2
mov edx, dword [esp]
mov eax, edi
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, esi
and edx, 0xfffffffc
add eax, edx
add edx, dword [esp]
mov ecx, esi
and ecx, 3
mov dword [esp + 0xa0], ecx
shr ecx, 1
mov dword [esp + 0x34], edx
mov dword [esp + 0x1c], eax
mov edi, eax
mov eax, dword [esp + 0x34]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, esi
xor ecx, 2
and ecx, dword [esp + 0xa0]
je 0x424260
mov eax, esi
and eax, 2
add edx, eax
mov edi, dword [esp + 0x1c]
add edi, eax
push ecx
push edx
push edi
call fcn.00408dd0
add esp, 0xc
cmp esi, 1
je 0x424292
lea ecx, [esi - 1]
cmp esi, 2
jne 0x4242a8
mov eax, 0xffffffff
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x9c]
mov edi, dword [esp + 0x14]
mov edx, dword [esp]
test cl, 1
je 0x424100
jmp 0x42431c
xor eax, eax
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x9c]
mov edi, dword [esp + 0x14]
jmp 0x424102
mov dword [esp + 0x34], ecx
and ebx, 0xfffffffe
mov eax, 0xffffffff
mov ecx, dword [esp]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, eax
shr edx, 8
movzx esi, byte [ecx]
xor esi, eax
not eax
or eax, 0xff
add eax, esi
xor edx, dword [eax*4 + 0x4407d4]
mov eax, edx
shr eax, 8
movzx esi, byte [ecx + 1]
add ecx, 2
xor esi, edx
not edx
or edx, 0xff
add edx, esi
xor eax, dword [edx*4 + 0x4407d4]
add ebx, 0xfffffffe
jne 0x4242c0
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x9c]
mov edi, dword [esp + 0x14]
mov edx, ecx
mov ecx, dword [esp + 0x34]
test cl, 1
je 0x424100
mov ecx, eax
shr ecx, 8
movzx edx, byte [edx]
xor edx, eax
not eax
or eax, 0xff
add eax, edx
xor ecx, dword [eax*4 + 0x4407d4]
mov eax, ecx
jmp 0x424100
lea eax, [esp + 0x30]
push 0
push eax
push dword [esp + 0x14]
call fcn.0043d610
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
mov dword [esp + 0x28], 0
jmp dword [eax*4 + 0x4459fc]
jmp dword [0x445a48]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x40], 0x3c3d3e3f
mov dword [esp + 0x44], 0
mov word [esp + 0x48], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 9
ja 0x4243e5
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x40]
lea esi, [ecx - 0x1904aa58]
add ecx, 0xa8
and ecx, edx
or esi, edx
sub esi, ecx
mov dword [esp + 0xe4], esi
mov ecx, dword [esp + 0xe4]
add cl, 0x68
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 0xa
jb 0x4243a0
mov ecx, dword [0x449a0c]
test ecx, ecx
je case.0x42407f.13
mov edx, dword [esp + 0x40]
xor esi, esi
mov edi, dword [0x449a10]
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x11081610
je 0x424410
inc esi
cmp ecx, esi
jne 0x424400
jmp case.0x42407f.13
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x42407f.13
push eax
push 1
push dword [0x449a14]
push ecx
call fcn.0043a960
add esp, 0x10
jmp case.0x42407f.13
jmp dword [0x445a50]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x40], 0x3c3d3e3f
mov dword [esp + 0x44], 0
mov word [esp + 0x48], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 9
ja 0x4244b5
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x40]
lea esi, [ecx - 0x1904aa58]
add ecx, 0xa8
and ecx, edx
or esi, edx
sub esi, ecx
mov dword [esp + 0xe4], esi
mov ecx, dword [esp + 0xe4]
add cl, 0x68
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 0xa
jb 0x424470
mov ecx, dword [0x449a0c]
test ecx, ecx
je 0x424430
mov edx, dword [esp + 0x40]
xor esi, esi
mov edi, dword [0x449a10]
nop
cmp dword [edi + esi*8], 0x11081610
je 0x4244f0
inc esi
cmp ecx, esi
jne 0x4244d0
jmp 0x424430
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x424430
push eax
push 1
push dword [0x449a14]
push ecx
call fcn.0043a960
add esp, 0x10
jmp 0x424430
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x24], 0
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x18], edx
jmp dword [ecx*4 + 0x445ac4]
mov byte [edi], 0
mov ecx, edi
not ecx
mov eax, dword [esp + 0x1c]
and ecx, eax
not eax
and eax, edi
sub eax, ecx
mov dword [esp + 0x40], 0x7141561
mov dword [esp + 0x44], 0x1b0f0c05
mov dword [esp + 0x48], 0x61e1c01
mov dword [esp + 0x4c], 0x1c046443
mov dword [esp + 0x50], 0x6f450611
mov dword [esp + 0x54], 0xd13140b
mov dword [esp + 0x58], 0x3b084f0b
mov word [esp + 0x5c], 0x8136
mov dword [esp + 0x5e], 0
mov dword [esp + 0x62], 0
mov byte [esp + 0x66], 0
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0xc]
cmp ecx, 0x26
ja 0x4245fb
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
movzx edx, byte [esp + edx + 0x40]
lea esi, [ecx + edx]
add esi, 0xcb1bf045
add ecx, 0xcb1bf045
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 4], esi
mov ecx, dword [esp + 4]
mov edx, ecx
or edx, 0x1c
and ecx, 0x1c
add ecx, edx
inc cl
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
cmp ecx, 0x27
jb 0x4245b0
mov ecx, dword [ebp + 8]
push eax
push dword [esp + 0x20]
lea eax, [esp + 0x48]
push eax
call fcn.00409850
jmp dword [0x445b94]
push dword [esp + 0x1c]
mov esi, eax
call fcn.00408db0
mov eax, esi
add esp, 4
and al, 1
jmp 0x424c58
mov dword [esp + 0x40], 0xe7f0fe83
mov dword [esp + 0x44], 0xfae888e3
mov dword [esp + 0x48], 0xf7838fb7
mov dword [esp + 0x4c], 0xf0cdfcea
mov dword [esp + 0x50], 0x8efb8090
mov dword [esp + 0x54], 0x8585e6cb
mov dword [esp + 0x58], 0x9f8d8886
mov dword [esp + 0x5c], 0x9791f0ef
mov word [esp + 0x60], 0xd91
mov dword [esp + 0x62], 0
mov dword [esp + 0x66], 0
mov dword [esp + 0x6a], 0
mov word [esp + 0x6e], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 0x2f
ja 0x4246fa
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
movzx ecx, byte [esp + ecx + 0x40]
lea edx, [eax + 0x32]
add eax, ecx
and edx, ecx
add edx, edx
sub eax, edx
add eax, 0xdc793232
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
mov ecx, eax
xor ecx, 0xa1
and eax, 0x21
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0x30
jb 0x4246b0
mov ecx, dword [esp + 0xa0]
push esi
call fcn.004265e0
jmp dword [0x445abc]
mov dword [esp + 0x40], 0xe7f0fe83
mov dword [esp + 0x44], 0xfae888e3
mov dword [esp + 0x48], 0xf7838fb7
mov dword [esp + 0x4c], 0xf0cdfcea
mov dword [esp + 0x50], 0x8efb8090
mov dword [esp + 0x54], 0x8585e6cb
mov dword [esp + 0x58], 0x9f8d8886
mov dword [esp + 0x5c], 0x9791f0ef
mov word [esp + 0x60], 0xd91
mov dword [esp + 0x62], 0
mov dword [esp + 0x66], 0
mov dword [esp + 0x6a], 0
mov word [esp + 0x6e], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 0x2f
ja 0x4247da
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
movzx ecx, byte [esp + ecx + 0x40]
lea edx, [eax + 0x32]
add eax, ecx
and edx, ecx
add edx, edx
sub eax, edx
add eax, 0xdc793232
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
mov ecx, eax
xor ecx, 0xa1
and eax, 0x21
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0x30
jb 0x424790
mov ecx, dword [esp + 0xa0]
push esi
call fcn.004265e0
jmp case.0x4235bc.79
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x445a84]
xor edx, edx
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x2c]
jmp dword [0x445b84]
push esi
mov esi, edx
call fcn.00408db0
add esp, 4
mov edx, esi
mov eax, edx
and al, 1
movzx ecx, al
mov eax, esi
jmp dword [ecx*4 + 0x445b8c]
mov dword [esp + 0xd8], esi
lea eax, [esp + 0xa8]
push 0
push eax
push dword [esp + 0xac]
call fcn.0043d610
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 0x24], 0
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x18], ecx
jmp dword [eax*4 + 0x445a8c]
mov esi, dword [esp + 0xa8]
lea eax, [esi + 1]
push eax
call fcn.00408da0
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0xb0]
call fcn.0043d720
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 0x24], 0
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x18], ecx
mov dword [esp + 0xe0], edi
jmp dword [eax*4 + 0x445a94]
jmp dword [0x445b6c]
mov ecx, esi
call fcn.00426770
push esi
call fcn.00408db0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, esi
call fcn.00426770
push esi
call fcn.00408db0
add esp, 4
jmp dword [0x445b78]
mov dword [esp + 0x2c], ebx
mov eax, ebx
sub eax, ecx
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.00408da0
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x40], 0x3fe0d29
mov dword [esp + 0x44], 0x7e10193
mov dword [esp + 0x48], 0x3ba605e5
mov dword [esp + 0x4c], 0x3fae39f9
mov dword [esp + 0x50], 0x33f63dac
mov dword [esp + 0x54], 0x37a231d1
mov dword [esp + 0x58], 0x2b0f35d5
mov dword [esp + 0x5c], 0x2fd929c4
mov dword [esp + 0x60], 0x23c72db8
mov dword [esp + 0x64], 0x27bb21c1
mov dword [esp + 0x68], 0xdb4625c8
mov dword [esp + 0x6c], 0xdf39d94b
mov dword [esp + 0x70], 0xd34edd3d
mov dword [esp + 0x74], 0xd75cd102
mov dword [esp + 0x78], 0xcb50d530
lea eax, [esp + 0x7c]
mov word [esp + 0x7c], 0xc9c8
mov dword [esp + 0x7e], 0
mov dword [esp + 0x81], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 0x44
ja 0x4249f7
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x40]
lea esi, [ecx + 0xd6]
and esi, edx
add ecx, edx
add esi, esi
sub ecx, esi
add ecx, 0xda0b5ad6
mov dword [esp + 0xe4], ecx
mov ecx, dword [esp + 0xe4]
add cl, 0x26
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 0x45
jb 0x4249b0
lea ebx, [esp + 0xe4]
lea edx, [esp + 0x40]
mov ecx, 0xf
mov edi, ebx
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x120]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [0x449a08]
mov dword [esp], eax
jmp dword [0x445a78]
lea esi, [esp + 0x30]
push esi
push 0
push 0
push 0x1e
push ebx
push 0
call dword [esp + 0x18]
mov edi, dword [esp + 0x30]
test edi, edi
jns 0x424a4f
mov eax, 0xffffffff
jmp 0x424a52
lea eax, [edi + edi]
push eax
call fcn.00408da0
add esp, 4
push esi
push edi
push eax
mov esi, eax
push 0x1e
push ebx
push 0
call dword [0x449a08]
lea eax, [esp + 0xa4]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.0043d270
add esp, 0x14
jmp case.0x42407f.25
mov eax, 0xffffffff
push eax
call fcn.00408da0
add esp, 4
lea ecx, [esp + 0x30]
push ecx
push esi
mov esi, eax
push eax
push 0x1e
mov ebx, edi
push edi
push 0
call dword [0x449a08]
lea eax, [esp + 0xa4]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.0043d270
add esp, 0x14
jmp dword [0x445a80]
lea eax, [esp + 0x30]
push eax
push 0
push 0
push 0x1e
mov edi, ebx
push ebx
push 0
call dword [esp + 0x18]
mov esi, dword [esp + 0x30]
test esi, esi
js 0x424a90
lea eax, [esi + esi]
jmp 0x424a95
push esi
call fcn.00408db0
add esp, 4
nop
nop
push esi
call fcn.00408db0
add esp, 4
jmp dword [0x445a68]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
jmp dword [0x445b94]
mov esi, dword [esp + 0xa0]
jmp dword [0x445b64]
jmp dword [0x445b7c]
push edi
call fcn.00408db0
add esp, 4
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x40], 0x3c3d3e3f
mov dword [esp + 0x44], 0
mov word [esp + 0x48], 0
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0xc]
cmp ecx, 9
mov ebx, dword [esp + 0x2c]
ja 0x424baf
nop
nop
nop
nop
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
movzx edx, byte [esp + edx + 0x40]
lea esi, [ecx - 0x1904aa58]
add ecx, 0xa8
and ecx, edx
or esi, edx
sub esi, ecx
mov dword [esp + 4], esi
mov ecx, dword [esp + 4]
add cl, 0x68
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
cmp ecx, 0xa
jb 0x424b70
mov ecx, dword [0x449a0c]
test ecx, ecx
je 0x424be8
mov edx, dword [esp + 0x40]
xor esi, esi
mov edi, dword [0x449a10]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x11081610
je 0x424be0
inc esi
cmp ecx, esi
jne 0x424bd0
jmp 0x424be8
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x424c0d
mov esi, dword [esp + 0xd8]
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
jmp dword [0x445b84]
mov eax, edx
and al, 1
movzx ecx, al
mov eax, edx
jmp dword [ecx*4 + 0x445b8c]
push eax
push 1
push dword [0x449a14]
push ecx
call fcn.0043a960
add esp, 0x10
mov esi, dword [esp + 0xd8]
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
jmp dword [0x445b84]
mov esi, dword [esp + 0x38]
jmp dword [0x445a54]
jmp dword [0x445a60]
xor eax, eax
mov ecx, dword [esp + 0x28]
cmp ecx, ebx
sete al
jmp dword [eax*4 + 0x445a6c]
xor eax, eax
mov esi, dword [esp + 0x28]
test esi, esi
je 0x424b0f
cmp esi, ebx
je 0x424b0f
mov edi, eax
jmp 0x424c74
cmp esi, ebx
je 0x424c88
mov eax, dword [esi]
add esi, 8
test eax, eax
je 0x424c70
push eax
call fcn.00408db0
add esp, 4
jmp 0x424c70
push dword [esp + 0x28]
call fcn.00408db0
add esp, 4
mov eax, edi
jmp 0x424b0f
push ebx
call fcn.00408db0
add esp, 4
push ebx
call fcn.00408db0
add esp, 4
jmp dword [0x4459e0]
lea eax, [esp + 0xc]
push 0x60
push 3
push 0x120089
push eax
mov dword [esp + 0x48], esi
push esi
call fcn.0043d270
add esp, 0x14
mov ecx, dword [case.0x4235bc.29]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
not eax
shr eax, 0x1f
xor ebx, ebx
mov dword [esp + 0x28], 0
jmp dword [eax*4 + 0x4459f4]
mov dword [esp + 0xa0], ebx
movzx eax, al
mov dword [esp + 0x24], 0
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x18], ecx
lea esi, [esp + 0x40]
jmp dword [eax*4 + 0x445aac]
jmp dword [0x445ab8]
mov esi, dword [esp + 0xa8]
mov byte [edi + esi], 0
push 0x20
call fcn.00408da0
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov ecx, eax
push esi
push edi
call fcn.004263a0
mov esi, dword [esp + 0xa8]
mov byte [edi + esi], 0
push 0x20
call fcn.00408da0
add esp, 4
mov ebx, eax
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov ecx, eax
push esi
push edi
call fcn.004263a0
jmp dword [0x445aa4]
jmp dword [0x445bb0]
jmp dword [0x445cb4]
push esi
call fcn.00408db0
add esp, 4
mov eax, dword [esp + 0x88]
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
cmp ecx, 3
setne al
jmp dword [eax*4 + 0x445b9c]
mov dword [esp + 0xb8], ecx
mov ecx, dword [esp + ecx*4 + 0x114]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x425240
mov dword [esp + 0x50], ecx
mov dword [esp + 0x8c], eax
sar eax, 1
mov dword [esp + 0xbc], eax
mov dword [esp + 0x18], 0x8bc885fa
mov dword [esp + 0x1c], 0x8fed891b
mov dword [esp + 0x20], 0xb3e08de9
mov dword [esp + 0x24], 0xb7c5b192
mov dword [esp + 0x28], 0xbbd3b522
mov dword [esp + 0x2c], 0xbfd3b92e
mov word [esp + 0x30], 0xbdbe
lea eax, [esp + 0x30]
mov dword [eax + 5], 0
mov dword [eax + 2], 0
mov dword [esp + 0x68], 0
mov eax, dword [esp + 0x68]
cmp eax, 0x20
lea ebx, [esp + 0x18]
ja 0x425305
nop
nop
nop
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x68]
movzx ecx, byte [esp + ecx + 0x18]
lea edx, [eax + 0x95]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
add eax, 0x3fa41a95
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xc4]
add al, 0xed
mov ecx, dword [esp + 0x68]
mov byte [esp + ecx + 0x18], al
inc dword [esp + 0x68]
mov eax, dword [esp + 0x68]
cmp eax, 0x21
jb 0x4252c0
jmp dword [0x445bb4]
mov dword [esp + 0xb4], edi
lea ebx, [esp + 0x18]
jmp dword [0x445bf8]
inc ecx
inc ecx
jmp dword [0x445cac]
mov eax, dword [esp + 0xc0]
mov byte [edi + eax], 0
push edi
call fcn.00401f30
add esp, 4
mov esi, eax
xor eax, eax
test esi, esi
setne al
xor ebx, ebx
mov dword [esp + 0x80], esi
jmp dword [eax*4 + 0x445bec]
mov ecx, dword [esp + 0xb8]
jmp dword [0x445ca4]
mov ebx, eax
jmp dword [0x445c1c]
push edi
call fcn.00408db0
add esp, 4
push 0x2e0ec9bb
push dword [0x449a00]
call fcn.0043c6f0
add esp, 8
mov ecx, dword [case.0x4235bc.172]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
push dword [esp + 0x14]
call eax
mov edi, dword [esp + 0xb4]
jmp dword [0x445c34]
push dword [esp + 8]
call fcn.00408db0
add esp, 4
jmp dword [0x445c3c]
inc ecx
jmp dword [0x445cac]
mov dword [esp + 0x18], 0x1bce19bc
mov dword [esp + 0x1c], 0xe745e553
mov dword [esp + 0x20], 0xe356e141
mov dword [esp + 0x24], 0xef3ded0c
mov dword [esp + 0x28], 0xeb5de954
mov dword [esp + 0x2c], 0xf757f546
mov dword [esp + 0x30], 0xf35ff15f
mov dword [esp + 0x34], 0xff4afd58
mov dword [esp + 0x38], 0xfb44f955
mov dword [esp + 0x3c], 0xc772c569
mov dword [esp + 0x40], 0xc360c16c
mov word [esp + 0x44], 0xcdcc
lea eax, [esp + 0x30]
mov word [eax + 0x1e], 0
mov dword [eax + 0x1a], 0
mov dword [eax + 0x16], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 0x37
ja 0x4254b3
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
movzx edx, byte [esp + eax + 0x18]
lea eax, [ecx + 0xfc]
and eax, edx
mov esi, 0x3c610903
sub esi, ecx
or esi, edx
not esi
add esi, edx
sub esi, eax
mov dword [esp + 0x68], esi
mov eax, dword [esp + 0x68]
add al, 0x1c
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x18], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 0x38
jb 0x425470
lea edi, [esp + 0xc4]
lea eax, [esp + 0x18]
mov ecx, 0xb
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x44]
lea edi, [esp + 0xf0]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0xbc]
lea ecx, [edx + eax]
add edx, eax
add edx, 0x17
lea eax, [ecx + ecx]
add eax, 0x2e
test edx, edx
jns 0x425501
mov eax, 0xffffffff
push eax
call fcn.00408da0
add esp, 4
mov ebx, eax
mov esi, dword [esp + 0x60]
movzx ecx, word [esi]
test cx, cx
je 0x425541
mov edx, dword [esp + 0x90]
mov eax, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425530
mov word [eax], 0x5c
add eax, 2
mov edx, dword [esp + 0x50]
movzx ecx, word [edx]
test cx, cx
je 0x425571
add edx, 2
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425560
mov word [eax], 0
movzx ecx, word [esp + 0xc4]
test cx, cx
je 0x4255a1
lea edx, [esp + 0xc6]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425590
mov word [eax], 0
mov dword [esp + 0x18], 0xab08a557
mov dword [esp + 0x1c], 0xaf12a901
mov dword [esp + 0x20], 0xb300ad05
mov dword [esp + 0x24], 0xb716b116
mov word [esp + 0x28], 0xb5b6
lea eax, [esp + 0x30]
mov dword [eax + 2], 0
mov dword [eax - 2], 0
mov dword [eax - 6], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1d
ja 0x425641
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x18]
lea edx, [eax - 0x4931adbb]
add eax, 0x45
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x10]
mov ecx, eax
xor ecx, 0x1c
and eax, 0x1c
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1e
jb 0x425600
lea edi, [esp + 0x68]
lea eax, [esp + 0x18]
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x28]
mov ecx, 1
lea edi, [esp + 0x78]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, dword [esp + 0x8c]
lea eax, [ecx + 0x12]
cmp ecx, 0xffffffed
jge 0x425678
mov eax, 0xffffffff
push eax
call fcn.00408da0
add esp, 4
mov edi, eax
mov edx, dword [esp + 0x50]
movzx ecx, word [edx]
test cx, cx
je 0x4256b1
add edx, 2
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4256a0
mov word [eax], 0
movzx ecx, word [esp + 0x68]
test cx, cx
je 0x4256e1
lea edx, [esp + 0x6a]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4256d0
mov word [eax], 0
mov dword [esp + 0x18], 0x9b9a99a2
lea eax, [esp + 0x30]
mov word [eax - 0x10], 0
mov dword [eax - 0x14], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 9
ja 0x425747
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x18]
lea edx, [eax + 0x14]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
add eax, 0x7def4b14
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add al, 0x74
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xa
jb 0x425710
push 0
push 0
push 0
push 0xc00000
lea eax, [esp + 0x28]
push eax
push ebx
push edi
push dword [ebp + 8]
call fcn.0041bc40
add esp, 0x20
mov ecx, dword [esp + 0x88]
and cl, 1
or cl, al
mov dword [esp + 0x88], ecx
jmp dword [0x445c84]
push edi
call fcn.00408db0
add esp, 4
jmp dword [0x445c8c]
jmp dword [0x445c8c]
jmp dword [0x445c94]
push ebx
call fcn.00408db0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebx
call fcn.00408db0
add esp, 4
jmp dword [0x445c9c]
xor ebx, ebx
mov edi, dword [esp + 0xb4]
jmp dword [0x445c34]
jmp dword [0x445c3c]
movzx eax, bl
jmp dword [eax*4 + 0x445c7c]
mov ecx, dword [esp + 0xb8]
jmp dword [0x445ca4]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x445bd4]
xor ebx, ebx
mov eax, dword [esp + 0x64]
jmp dword [0x445c64]
lea eax, [esp + 0xc0]
push 0
push eax
push dword [esp + 0x84]
call fcn.0043d610
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x445bdc]
mov esi, dword [esp + 0xc0]
lea eax, [esi + 1]
push eax
call fcn.00408da0
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0x88]
call fcn.0043d720
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x445be4]
push edi
call fcn.00408da0
add esp, 4
movzx edx, word [esi]
mov ecx, eax
test dx, dx
je 0x4258b1
mov esi, dword [esp + 0x90]
mov ecx, eax
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x4258a0
mov word [ecx], 0x5c
add ecx, 2
mov esi, dword [esp + 0x50]
movzx edx, word [esi]
test dx, dx
je 0x4258e1
add esi, 2
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x4258d0
mov word [ecx], 0
movzx edx, word [esp + 0xf4]
test dx, dx
je 0x425911
lea esi, [esp + 0xf6]
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x425900
mov word [ecx], 0
lea ecx, [esp + 0x7c]
push 0x60
push 3
push 0x120089
push ecx
push eax
call fcn.0043d270
add esp, 0x14
mov esi, dword [esp + 0x60]
jmp case.0x4235bc.147
mov word [eax], 0
lea eax, [esp + 0x7c]
push 0x60
push 3
push 0x120089
push eax
push dword [esp + 0x74]
call fcn.0043d270
add esp, 0x14
jmp dword [0x445bcc]
push edi
call fcn.00408da0
add esp, 4
movzx ecx, word [esi]
mov dword [esp + 0x64], eax
test cx, cx
je 0x4259a1
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x64]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425990
mov word [eax], 0x5c
add eax, 2
mov edx, dword [esp + 0x50]
movzx ecx, word [edx]
test cx, cx
je 0x4259d1
add edx, 2
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4259c0
mov word [eax], 0
movzx ecx, word [esp + 0xf4]
test cx, cx
je 0x425940
lea edx, [esp + 0xf6]
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4259f0
jmp 0x425940
push edi
call fcn.00408db0
add esp, 4
mov eax, dword [case.0x4235bc.152]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov dword [esp + 0x18], 0x9b06994f
mov dword [esp + 0x1c], 0x97409504
mov dword [esp + 0x20], 0x931a911c
mov dword [esp + 0x24], 0x8f8e8d00
mov dword [esp + 0x28], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x13
ja 0x425a9e
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x18]
lea edx, [eax + ecx]
add edx, 0x18463044
add eax, 0x18463044
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp], edx
mov eax, dword [esp]
add al, 0x24
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x18], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x14
jb 0x425a60
lea edi, [esp + 0xc4]
mov eax, ebx
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x28]
lea edi, [esp + 0xd4]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, dword [esp + 0x8c]
lea eax, [ecx + 0x10]
cmp ecx, 0xffffffef
jge 0x425ad6
mov eax, 0xffffffff
push eax
call fcn.00408da0
add esp, 4
mov ecx, dword [esp + 0x50]
movzx edx, word [ecx]
mov ecx, eax
test dx, dx
je 0x425b11
mov ecx, dword [esp + 0x50]
lea esi, [ecx + 2]
mov ecx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x425b00
mov word [ecx], 0
movzx edx, word [esp + 0xc4]
test dx, dx
je 0x425b41
lea esi, [esp + 0xc6]
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x425b30
mov word [ecx], 0
mov ecx, dword [ebp + 8]
push dword [esp + 0x10]
push dword [esp + 0x18]
push eax
call fcn.004096a0
mov esi, dword [esp + 0x80]
mov dword [esp + 0x18], 0x9b06994f
mov dword [esp + 0x1c], 0x97409504
mov dword [esp + 0x20], 0x931a911c
mov dword [esp + 0x24], 0x8f8e8d00
mov dword [esp + 0x28], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x13
ja 0x425bde
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x18]
lea edx, [eax + ecx]
add edx, 0x18463044
add eax, 0x18463044
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp], edx
mov eax, dword [esp]
add al, 0x24
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x18], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x14
jb 0x425ba0
lea edi, [esp + 0xc4]
mov eax, ebx
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x28]
xor ecx, ecx
lea edi, [esp + 0xd4]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, dword [esp + 0x8c]
lea eax, [ecx + 0x10]
cmp ecx, 0xffffffef
jge 0x425c16
mov eax, 0xffffffff
push eax
call fcn.00408da0
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x50]
movzx ecx, word [eax]
mov eax, edi
test cx, cx
je 0x425c51
mov eax, dword [esp + 0x50]
lea edx, [eax + 2]
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425c40
mov word [eax], 0
movzx ecx, word [esp + 0xc4]
test cx, cx
je 0x425c81
lea edx, [esp + 0xc6]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425c70
mov word [eax], 0
mov ecx, dword [ebp + 8]
push dword [esp + 0x10]
push dword [esp + 0x18]
push edi
call fcn.004096a0
jmp dword [0x445c14]
jmp dword [0x445c0c]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x445c04]
push esi
call fcn.004028e0
add esp, 4
mov dword [esp + 0x18], 0x7e714c47
mov dword [esp + 0x1c], 0x434c4640
mov dword [esp + 0x20], 0x764e7688
mov dword [esp + 0x24], 0x5b545e48
mov dword [esp + 0x28], 0x56616d69
mov word [esp + 0x2c], 0x566d
mov byte [esp + 0x2e], 0xcc
lea ecx, [esp + 0x30]
mov dword [ecx + 2], 0
mov dword [ecx - 1], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x1d
ja 0x425d55
nop
mov edx, dword [esp]
mov ecx, dword [esp]
movzx esi, byte [esp + ecx + 0x18]
lea ecx, [edx + 0xe3]
and ecx, esi
mov edi, 0x8fc3301c
sub edi, edx
or edi, esi
not edi
add edi, esi
sub edi, ecx
mov dword [esp + 0xc4], edi
mov ecx, dword [esp + 0xc4]
add cl, 0xcb
mov edx, dword [esp]
mov byte [esp + edx + 0x18], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x1e
jb 0x425d10
push ebx
push eax
call fcn.00402980
add esp, 8
mov edi, 0xffffffff
mov edx, 0xfffffffd
nop
nop
nop
nop
nop
nop
nop
mov ecx, edi
add edx, 3
cmp byte [eax + edi + 1], 0
lea edi, [edi + 1]
jne 0x425d70
shr edx, 2
movzx ecx, byte [eax + edi - 1]
cmp ecx, 0x3d
je 0x425d91
cmp ecx, 0x2e
jne 0x425d92
dec edx
movzx ecx, byte [eax + edi - 2]
cmp ecx, 0x3d
mov dword [esp + 0x5c], eax
je 0x425da5
cmp ecx, 0x2e
jne 0x425da6
dec edx
mov dword [esp + 0x110], edx
lea eax, [edx + 1]
push eax
call fcn.00408da0
add esp, 4
mov dword [esp + 8], eax
test edi, edi
je 0x425ede
xor ecx, ecx
mov esi, 2
mov dword [esp + 0x58], edi
jmp 0x425df2
mov edi, ebx
lea eax, [esi + 4]
add esi, 2
cmp esi, edi
mov esi, eax
jae 0x425ede
mov dword [esp + 0xc], ecx
mov edi, dword [esp + 0x5c]
movzx eax, byte [edi + esi - 2]
push eax
call fcn.00418d90
add esp, 4
mov bh, al
movzx eax, byte [edi + esi - 1]
push eax
call fcn.00418d90
mov edx, dword [esp + 0x10]
add esp, 4
shl bh, 2
mov ah, al
shr ah, 4
and ah, 3
or ah, bh
mov ecx, dword [esp + 8]
mov byte [ecx + edx], ah
lea ecx, [edx + 1]
mov edx, dword [esp + 0x58]
mov ebx, edx
cmp esi, edx
jae 0x425de0
mov byte [esp + 0x54], al
movzx eax, byte [edi + esi]
push eax
mov edi, ecx
call fcn.00418d90
mov ecx, edi
add esp, 4
cmp al, 0x40
mov edi, ebx
je 0x425de2
movzx edx, al
mov ecx, edx
not ecx
or ecx, 0x3c
lea ebx, [edx + ecx]
inc ebx
movzx ecx, byte [esp + 0x54]
shl cl, 4
shr ebx, 2
add bl, cl
mov byte [esp + 0x84], al
mov edx, dword [esp + 0xc]
lea eax, [edx + 2]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 8]
mov byte [ecx + edx + 1], bl
lea eax, [esi + 1]
cmp eax, edi
jae 0x425ed5
mov eax, dword [esp + 0x5c]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.00418d90
add esp, 4
cmp al, 0x40
mov ecx, dword [esp + 0x54]
movzx edx, byte [esp + 0x84]
je 0x425de2
shl dl, 6
add al, dl
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov byte [ecx + edx + 2], al
add edx, 3
mov ecx, edx
jmp 0x425de2
mov ecx, dword [esp + 0x54]
jmp 0x425de2
mov ecx, dword [esp + 0x110]
mov eax, ecx
xor eax, 0xfffffffa
and ecx, 0xfffffffa
lea eax, [eax + ecx*2]
inc eax
mov dword [esp + 0x68], eax
mov eax, dword [esp + 8]
add eax, 5
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
push 0x932a8d34
push dword [0x449a18]
call fcn.0043c6f0
add esp, 8
lea ecx, [esp + 0x10]
lea edx, [esp + 0x68]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
lea ebx, [esp + 0x18]
mov esi, dword [esp + 0x80]
jmp dword [0x445c00]
push esi
call fcn.004028e0
add esp, 4
mov dword [esp + 0x18], 0x7e714c47
mov dword [esp + 0x1c], 0x434c4640
mov dword [esp + 0x20], 0x764e7688
mov dword [esp + 0x24], 0x5b545e48
mov dword [esp + 0x28], 0x56616d69
mov word [esp + 0x2c], 0x566d
mov byte [esp + 0x2e], 0xcc
lea ecx, [esp + 0x30]
mov dword [ecx + 2], 0
mov dword [ecx - 1], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x1d
ja 0x425ff5
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp]
mov ecx, dword [esp]
movzx esi, byte [esp + ecx + 0x18]
lea ecx, [edx + 0xe3]
and ecx, esi
mov edi, 0x8fc3301c
sub edi, edx
or edi, esi
not edi
add edi, esi
sub edi, ecx
mov dword [esp + 0xc4], edi
mov ecx, dword [esp + 0xc4]
add cl, 0xcb
mov edx, dword [esp]
mov byte [esp + edx + 0x18], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x1e
jb 0x425fb0
push ebx
push eax
call fcn.00402980
add esp, 8
mov ecx, 0xffffffff
mov edx, 0xfffffffd
nop
nop
nop
nop
nop
nop
nop
add edx, 3
cmp byte [eax + ecx + 1], 0
lea ecx, [ecx + 1]
jne 0x426010
shr edx, 2
mov esi, ecx
mov dword [esp + 0xc], ecx
movzx ecx, byte [eax + ecx - 1]
cmp ecx, 0x3d
je 0x426035
cmp ecx, 0x2e
jne 0x426036
dec edx
mov ecx, dword [esp + 0xc]
movzx ecx, byte [eax + ecx - 2]
cmp ecx, 0x3d
mov dword [esp + 0x5c], eax
je 0x42604d
cmp ecx, 0x2e
jne 0x42604e
dec edx
mov dword [esp + 0x84], edx
lea eax, [edx + 1]
push eax
call fcn.00408da0
add esp, 4
mov dword [esp + 0x58], eax
cmp dword [esp + 0xc], 0
je 0x426170
xor edi, edi
mov esi, 2
jmp 0x426092
mov edx, ebx
nop
nop
nop
nop
nop
lea eax, [esi + 4]
add esi, 2
mov edi, edx
cmp esi, ecx
mov esi, eax
jae 0x426170
mov ebx, dword [esp + 0x5c]
movzx eax, byte [ebx + esi - 2]
push eax
call fcn.00418d90
add esp, 4
mov byte [esp + 8], al
movzx eax, byte [ebx + esi - 1]
push eax
call fcn.00418d90
mov ecx, dword [esp + 0x10]
add esp, 4
mov ebx, eax
movzx edx, byte [esp + 8]
shl dl, 2
shr al, 4
and al, 3
or al, dl
mov edx, dword [esp + 0x58]
mov byte [edx + edi], al
lea edx, [edi + 1]
cmp esi, ecx
jae 0x426080
mov dword [esp + 8], edi
mov eax, dword [esp + 0x5c]
movzx eax, byte [eax + esi]
push eax
mov edi, edx
call fcn.00418d90
mov edx, edi
mov ecx, dword [esp + 0x10]
add esp, 4
cmp al, 0x40
je 0x426080
mov byte [esp + 0x54], al
movzx eax, al
mov ecx, eax
not ecx
or ecx, 0x3c
add eax, ecx
inc eax
mov ecx, dword [esp + 0xc]
shl bl, 4
shr eax, 2
add al, bl
mov edi, dword [esp + 8]
lea ebx, [edi + 2]
mov edx, dword [esp + 0x58]
mov byte [edx + edi + 1], al
lea eax, [esi + 1]
cmp eax, ecx
jae 0x426079
mov eax, dword [esp + 0x5c]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.00418d90
mov ecx, dword [esp + 0x10]
add esp, 4
cmp al, 0x40
mov edx, ebx
mov ah, byte [esp + 0x54]
je 0x426080
shl ah, 6
add al, ah
mov edx, dword [esp + 0x58]
mov edi, dword [esp + 8]
mov byte [edx + edi + 2], al
add edi, 3
mov edx, edi
jmp 0x426080
mov eax, dword [esp + 0x84]
add eax, 0xfffffffb
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x58]
add eax, 5
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
push 0x932a8d34
push dword [0x449a18]
call fcn.0043c6f0
add esp, 8
lea ecx, [esp + 0x10]
lea edx, [esp + 0x68]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
lea ebx, [esp + 0x18]
mov esi, dword [esp + 0x80]
jmp case.0x4235bc.159
push esi
call fcn.00402b40
add esp, 4
push esi
call fcn.00402b40
add esp, 4
jmp dword [0x445c44]
jmp dword [0x445c4c]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x18], 0x3c3d3e3f
lea ecx, [esp + 0x30]
mov word [ecx - 0x10], 0
mov dword [ecx - 0x14], 0
mov dword [esp + 0x68], 0
mov ecx, dword [esp + 0x68]
cmp ecx, 9
ja 0x426265
nop
nop
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x68]
movzx edx, byte [esp + edx + 0x18]
lea esi, [ecx - 0x1904aa58]
add ecx, 0xa8
and ecx, edx
or esi, edx
sub esi, ecx
mov dword [esp + 0xc4], esi
mov ecx, dword [esp + 0xc4]
add cl, 0x68
mov edx, dword [esp + 0x68]
mov byte [esp + edx + 0x18], cl
inc dword [esp + 0x68]
mov ecx, dword [esp + 0x68]
cmp ecx, 0xa
jb 0x426220
mov ecx, dword [0x449a0c]
test ecx, ecx
je 0x4262a0
mov edx, dword [esp + 0x18]
xor esi, esi
mov edi, dword [0x449a10]
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x11081610
je 0x426290
inc esi
cmp ecx, esi
jne 0x426280
jmp 0x4262a0
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x4262c2
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
jmp dword [0x445c64]
push eax
call fcn.00408db0
add esp, 4
mov eax, dword [case.0x4235bc.187]
nop
nop
nop
nop
jmp eax
push eax
push 1
push dword [0x449a14]
push ecx
call fcn.0043a960
add esp, 0x10
mov esi, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
jmp dword [0x445c64]
jmp dword [0x445bc8]
lea edi, [esp + 0xf4]
mov eax, ebx
mov ecx, 6
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x30]
lea edi, [esp + 0x10c]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea edi, [esp + 0xf4]
mov eax, ebx
mov ecx, 6
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x30]
mov ecx, 1
lea edi, [esp + 0x10c]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x94]
inc eax
mov ecx, eax
mov edx, dword [esp + 0xbc]
and ecx, edx
xor eax, edx
lea eax, [eax + ecx*2]
add eax, 0xd
mov ecx, eax
xor ecx, 0xfffffffe
and eax, 0xfffffffe
lea edx, [ecx + eax*2]
lea eax, [ecx + eax*2]
inc eax
lea edi, [edx + edx]
add edi, 2
test eax, eax
js 0x426390
jmp dword [0x445bc0]
mov edi, 0xffffffff
jmp dword [0x445bc0]