Function at 0x100609e0
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x89c
mov eax, dword [0x100b4368]
mov edx, dword [ebp + 0xc]
push ebx
mov dword [esp + 0x89c], eax
push esi
mov eax, edx
push edi
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10060a03
sub eax, esi
mov esi, eax
cmp esi, 0x60
mov dword [esp + 0x10], esi
jae case.0x100644fd.98
cmp esi, 4
jne 0x10060a3b
cmp byte [edx], 0x6c
jne 0x10060a3b
cmp byte [edx + 1], 0x75
jne 0x10060a3b
cmp byte [edx + 2], 0x63
jne 0x10060a3b
cmp byte [edx + 3], 0x61
je case.0x100644fd.98
push edx
lea eax, [esp + 0x1dc]
push 0xffffffffffffffff
push eax
call fcn.100839e0
add esp, 0xc
cmp esi, 3
mov ebx, 6
jne 0x10060ac3
mov ebx, 4
mov edi, 0x100aa4b4
lea esi, [esp + 0x1d8]
mov ecx, ebx
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10060a8e
push str.sono
lea eax, [esp + 0x1dc]
push 0xffffffffffffffff
push eax
call fcn.100839e0
mov dword [esp + 0x1c], ebx
jmp 0x10060c1a
mov edi, 0x100aa4b0
lea esi, [esp + 0x1d8]
mov ecx, ebx
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10060bb0
push str.hanno
lea eax, [esp + 0x1dc]
push 0xffffffffffffffff
push eax
call fcn.100839e0
mov dword [esp + 0x1c], ebx
jmp 0x10060c1a
cmp esi, ebx
jne 0x10060b03
mov edi, str.pensan
lea esi, [esp + 0x1d8]
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10060c1d
push str.pensano
lea eax, [esp + 0x1dc]
push 0xffffffffffffffff
push eax
call fcn.100839e0
mov dword [esp + 0x1c], 7
jmp 0x10060c1a
cmp esi, 8
jne 0x10060b44
mov edi, str.ingegner
lea esi, [esp + 0x1d8]
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10060c1d
push str.ingegnere
lea eax, [esp + 0x1dc]
push 0xffffffffffffffff
push eax
call fcn.100839e0
mov dword [esp + 0x1c], 9
jmp 0x10060c1a
cmp esi, 5
jne 0x10060be2
mov edi, str.veder
lea esi, [esp + 0x1d8]
mov ecx, ebx
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10060b7e
push str.vedere
lea eax, [esp + 0x1dc]
push 0xffffffffffffffff
push eax
call fcn.100839e0
mov dword [esp + 0x1c], ebx
jmp 0x10060c1a
mov edi, str.venir
lea esi, [esp + 0x1d8]
mov ecx, ebx
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10060c1d
push str.venire
lea eax, [esp + 0x1dc]
push 0xffffffffffffffff
push eax
call fcn.100839e0
mov dword [esp + 0x1c], ebx
jmp 0x10060c1a
mov edi, 0x100aa464
lea esi, [esp + 0x1d8]
mov ecx, ebx
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10060c1d
push str.comunque
lea eax, [esp + 0x1dc]
push 0xffffffffffffffff
push eax
call fcn.100839e0
mov dword [esp + 0x1c], 8
jmp 0x10060c1a
cmp esi, 4
jne 0x10060c1d
mov edi, str.vien
lea esi, [esp + 0x1d8]
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10060c1d
push str.viene
lea eax, [esp + 0x1dc]
push 0xffffffffffffffff
push eax
call fcn.100839e0
mov dword [esp + 0x1c], 5
add esp, 0xc
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x1d8]
mov edx, ecx
push edx
lea eax, [esp + 0x74]
push 0xffffffffffffffff
push eax
mov dword [esp + 0x24], 0xf42400
mov dword [ebx + 0x328], ecx
call fcn.100839e0
mov al, byte [ebx + 0x31c]
add esp, 0xc
cmp al, 1
jne 0x10060cd8
mov al, byte [ebx + 0x212]
test al, al
jne 0x10060c9f
mov byte [ebx + 0x211], al
mov eax, dword [esp + 0x10]
test eax, eax
mov word [ebx + 0x214], 0xffff
mov byte [ebx + 0x212], 1
jl 0x10060cdf
lea edi, [ebx + 0x216]
mov ecx, dword [esp + 0x10]
inc ecx
mov edx, ecx
shr ecx, 2
lea esi, [esp + 0x1d8]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x10060cdf
cmp al, 2
jne 0x10060cdf
xor eax, eax
lea edi, [ebx + 0x216]
jmp 0x10060cb0
mov cl, byte [esp + eax + 0x1d8]
cmp cl, byte [edi + eax]
jne 0x10060cc2
inc eax
cmp eax, 5
jl 0x10060cb0
cmp eax, 4
jge 0x10060cdf
mov eax, dword [esp + 0x10]
test eax, eax
mov byte [ebx + 0x212], 1
jl 0x10060cdf
jmp 0x10060c83
mov byte [ebx + 0x212], 0
mov ecx, dword [esp + 0x10]
mov al, byte [esp + ecx + 0x6f]
cmp al, 0x84
jbe case.0x10060d0c.225
movzx eax, al
add eax, 0xffffff20
cmp eax, 0x19
lea edx, [esp + 0x1d8]
mov dword [ebx + 0x328], edx
ja case.0x10060d0c.225
movzx eax, byte [eax + 0x10064910]
jmp dword [eax*4 + 0x100648f8]
mov byte [esp + ecx + 0x6f], 0x7b
jmp case.0x10060d0c.225
mov byte [esp + ecx + 0x6f], 0x7c
jmp case.0x10060d0c.225
mov byte [esp + ecx + 0x6f], 0x7d
jmp case.0x10060d0c.225
mov byte [esp + ecx + 0x6f], 0x7e
jmp case.0x10060d0c.225
mov byte [esp + ecx + 0x6f], 0x7f
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x54], eax
mov word [ebx + 4], ax
mov word [ebx + 8], ax
mov word [ebx + 6], ax
mov byte [ebx], al
mov byte [ebx + 3], al
mov byte [ebx + 2], al
mov byte [ebx + 1], al
je case.0x100644fd.98
cmp ecx, 1
jne 0x10060dc1
mov al, byte [esp + 0x70]
cmp al, 0x61
jb case.0x100644fd.98
cmp al, 0x7a
ja case.0x100644fd.98
push 0xffffffffffffffff
lea ecx, [esp + 0x74]
push ecx
push ebx
call fcn.100583c0
movzx eax, byte [esp + 0x7c]
add esp, 0xc
mov byte [ebx], 0x80
mov byte [ebx + 0x10], 0xd4
mov byte [ebx + 0x11], 0xb
mov byte [ebx + 0x12], 0x10
mov byte [ebx + 0x13], 0
mov dword [ebx + 0xc], 5
add eax, 0x989620
mov ecx, dword [esp + 0x8a4]
call fcn.1009d15f
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov word [ebx + 0x318], ax
cmp byte [esp + ecx + 0x6f], 0x27
mov byte [ebx + 0x316], 0xff
je 0x10060dfa
push 0xffffffffffffffff
lea edx, [esp + 0x74]
push edx
push ebx
call fcn.10040980
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
mov al, byte [esp + ecx + 0x7b]
add esp, 0xc
cmp al, 0x27
jne 0x10061013
lea eax, [esp + 0x70]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10060e01
sub eax, edx
cmp eax, 3
mov dword [esp + 0x4c], eax
jle 0x10061013
mov cl, byte [esp + eax + 0x6e]
cmp cl, 0x6e
lea eax, [esp + eax + 0x70]
mov dword [esp + 0x58], 0x6569616f
mov dword [esp + 0x48], 0
mov dword [esp + 0x64], eax
jne 0x10060e50
cmp byte [eax - 3], 0x75
jne 0x10060e50
mov byte [esp + 0x58], 0x61
mov byte [esp + 0x59], 0x6f
mov dword [esp + 0x48], 1
mov cl, byte [esp + 0x70]
cmp cl, 0x6e
je 0x10060e6a
cmp cl, 0x71
je 0x10060e6a
cmp cl, 0x64
jne 0x10060edc
cmp dword [esp + 0x4c], 7
jge 0x10060edc
mov edi, str.quand
lea esi, [esp + 0x70]
mov ecx, 7
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x10060e85
mov byte [esp + 0x75], 0x6f
jmp 0x10060eb9
mov edi, str.null
lea esi, [esp + 0x70]
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10060ea0
mov byte [esp + 0x74], 0x61
jmp 0x10060eb9
mov edi, str.dov
lea esi, [esp + 0x70]
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x10060eb9
mov byte [esp + 0x73], 0x65
push 0xffffffffffffffff
lea ecx, [esp + 0x74]
push ecx
push ebx
call fcn.10040980
add esp, 0xc
cmp eax, 0xf42400
mov dword [esp + 0x18], eax
jne 0x10064800
mov cl, byte [esp + 0x70]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x64]
xor esi, esi
cmp esi, 4
jae 0x10060f3c
mov dl, byte [esp + esi + 0x58]
push 0xffffffffffffffff
lea eax, [esp + 0x74]
push eax
push ebx
mov byte [edi - 1], dl
call fcn.100583c0
add esp, 0xc
cmp eax, 0xf42400
mov dword [esp + 0x18], eax
je 0x10060f1b
cmp byte [ebx + 0x10], 0x63
je 0x10064800
mov edi, dword [esp + 0x64]
push 0xffffffffffffffff
lea ecx, [esp + 0x74]
push ecx
push ebx
call fcn.10040980
mov cl, byte [esp + 0x7c]
add esp, 0xc
cmp eax, 0xf42400
mov dword [esp + 0x18], eax
je 0x10060f76
jmp 0x10060f47
cmp eax, 0xf42400
je 0x10061013
xor eax, eax
mov al, byte [ebx + 0x10]
and eax, 0xe0
cmp eax, 0x80
je 0x10060f7c
cmp eax, 0xe0
jne 0x10060f64
cmp cl, 0x71
je 0x10060fdd
cmp esi, 3
mov eax, 0xf42400
mov dword [esp + 0x18], eax
jae 0x10061013
inc esi
jmp 0x10060ee6
test byte [ebx + 0x11], 0x40
je 0x10060fb8
mov dl, byte [ebx + 0x10]
and dl, 0x1c
cmp dl, 0x1c
jne 0x10060fc0
cmp cl, 0x64
je 0x10060fa5
cmp byte [edi - 3], 0x6e
jne 0x10060fa5
cmp byte [edi - 2], 0x74
jne 0x10060fa5
mov eax, 3
jmp 0x10060fc4
cmp cl, 0x71
jne 0x10060fb8
cmp dword [esp + 0x4c], 7
jne 0x10060fb8
mov eax, 3
jmp 0x10060fc4
mov dword [esp + 0x18], 0xf42400
mov eax, dword [esp + 0x48]
mov dl, byte [ebx + 0x10]
mov cl, byte [esp + esi + 0x58]
and dl, 0xfd
cmp cl, 0x69
mov byte [ebx + 0x10], dl
jne 0x10060fe1
mov eax, 3
jmp 0x10060fe1
mov eax, dword [esp + 0x48]
cmp eax, 1
mov byte [ebx], 0
jne 0x10060ff4
cmp byte [edi - 1], 0x6f
jne 0x10061013
mov byte [ebx], 2
jmp 0x10061013
test eax, eax
jne 0x10061013
mov al, byte [ebx + 0x13]
and al, 8
mov byte [ebx + 0x14], 2
mov byte [ebx + 0x11], 5
mov byte [ebx + 0x12], 8
mov byte [ebx + 0x13], al
mov dword [ebx + 0xc], 5
mov esi, dword [esp + 0x10]
cmp byte [esp + esi + 0x1d7], 0x27
mov edi, dword [esp + 0x18]
jne 0x10061045
cmp edi, 0xf42400
jne 0x1006104d
mov eax, 0xf42400
mov ecx, dword [esp + 0x8a4]
call fcn.1009d15f
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, 0xf42400
je 0x1006106d
cmp dword [ebx + 0x320], 1
jne 0x1006106d
mov cl, byte [ebx + 0x10]
mov al, cl
and al, 0xe0
cmp al, 0xc0
jne 0x1006106d
test cl, 0xc
jne 0x1006106d
cmp byte [esp + esi + 0x6f], 0x7c
jne case.0x100644fd.98
mov eax, dword [ebx + 0x320]
test eax, eax
jne 0x10061168
cmp edi, 0xf42400
jne 0x10061168
lea ecx, [esp + 0x70]
lea esi, [ecx + 1]
mov edi, edi
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x10061090
sub ecx, esi
cmp byte [esp + ecx + 0x6f], 0x72
jne 0x10061168
lea ecx, [esp + 0x70]
push ecx
lea edx, [esp + 0xdc]
push 0xffffffffffffffff
push edx
call fcn.100839e0
push 0x100a6528
lea eax, [esp + 0xe8]
push 0xffffffffffffffff
push eax
call fcn.10083990
push 0xffffffffffffffff
lea ecx, [esp + 0xf4]
push ecx
push ebx
call fcn.10040980
add esp, 0x24
cmp eax, 0xf42400
mov dword [esp + 0x18], eax
je 0x1006115f
mov dl, byte [ebx + 0x10]
lea edi, [ebx + 0x10]
xor eax, eax
and dl, 0xe0
cmp dl, 0x80
mov dword [esp + 0x30], eax
jne 0x10061107
mov eax, 5
mov dword [esp + 0x30], eax
mov cl, byte [eax + ebx + 0x10]
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x1006112c
cmp eax, dword [ebx + 0xc]
jae 0x1006112c
and cl, 1
dec cl
neg cl
sbb ecx, ecx
inc ecx
lea eax, [eax + ecx*2 + 5]
mov dword [esp + 0x30], eax
mov cl, byte [eax + ebx + 0x10]
lea esi, [eax + ebx + 0x10]
and cl, 0xe0
cmp cl, 0x20
jne 0x1006115f
mov ecx, dword [ebx + 0xc]
cmp eax, ecx
jae 0x1006115f
test eax, eax
je 0x10061157
sub ecx, eax
push ecx
push esi
push edi
mov dword [ebx + 0xc], ecx
call fcn.10040980
add esp, 0xc
mov byte [ebx], 0
jmp 0x10064800
mov edi, 0xf42400
mov dword [esp + 0x18], edi
lea ecx, [esp + 0x70]
lea esi, [ecx + 1]
nop
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x10061170
mov eax, dword [ebx + 0x320]
sub ecx, esi
test eax, eax
mov cl, byte [esp + ecx + 0x6f]
jne 0x100612dd
cmp edi, 0xf42400
jne 0x10061293
cmp cl, 0x62
jb 0x100611a1
cmp cl, 0x64
jbe 0x10061203
cmp cl, 0x66
jb 0x100611ab
cmp cl, 0x68
jbe 0x10061203
cmp cl, 0x6a
jb 0x100611b5
cmp cl, 0x6e
jbe 0x10061203
cmp cl, 0x70
jb 0x100611bf
cmp cl, 0x74
jbe 0x10061203
cmp cl, 0x76
jb 0x100611c9
cmp cl, 0x7a
jbe 0x10061203
cmp cl, 0x42
jb 0x100611d3
cmp cl, 0x44
jbe 0x10061203
cmp cl, 0x46
jb 0x100611dd
cmp cl, 0x48
jbe 0x10061203
cmp cl, 0x4a
jb 0x100611e7
cmp cl, 0x4e
jbe 0x10061203
cmp cl, 0x50
jb 0x100611f1
cmp cl, 0x54
jbe 0x10061203
cmp cl, 0x56
jb 0x10061293
cmp cl, 0x5a
ja 0x10061293
cmp cl, 0x72
je 0x10061211
cmp cl, 0x6c
jne 0x10061293
lea edx, [esp + 0x70]
push edx
lea eax, [esp + 0xdc]
push 0xffffffffffffffff
push eax
call fcn.100839e0
push 0x100a6528
lea ecx, [esp + 0xe8]
push 0xffffffffffffffff
push ecx
call fcn.10083990
push 0xffffffffffffffff
lea edx, [esp + 0xf4]
push edx
push ebx
call fcn.10040980
mov edi, eax
add esp, 0x24
cmp edi, 0xf42400
mov dword [esp + 0x18], edi
je 0x10061293
mov al, byte [ebx + 0x10]
xor ecx, ecx
and al, 0xe0
cmp al, 0x80
mov dword [esp + 0x30], ecx
jne 0x10061272
mov ecx, 5
mov dword [esp + 0x30], ecx
mov dl, byte [ecx + ebx + 0x10]
and dl, 0xe0
cmp dl, 0xc0
jne 0x1006128a
cmp ecx, dword [ebx + 0xc]
jae 0x1006128a
test byte [ecx + ebx + 0x11], 0x40
jne 0x10061293
mov edi, 0xf42400
mov dword [esp + 0x18], edi
mov eax, dword [ebx + 0x320]
test eax, eax
jne 0x100612dd
cmp edi, 0xf42400
je 0x100612e9
mov cl, byte [ebx + 0x10]
and cl, 0xe0
cmp cl, 0xc0
jne 0x100612b9
mov al, byte [ebx + 0x11]
and al, 0xf
cmp al, 0xb
je 0x100612da
cmp cl, 0x60
jne 0x100612dd
mov cl, byte [ebx + 0x12]
and cl, 0xe0
cmp cl, 0xc0
jne 0x100612dd
cmp dword [ebx + 0xc], 2
jbe 0x100612dd
mov dl, byte [ebx + 0x13]
and dl, 0xf
cmp dl, 0xb
jne 0x100612dd
mov byte [ebx], 0x80
cmp edi, 0xf42400
jne 0x10064800
cmp word [0x100bbc0a], 0x64
je 0x10061307
mov ax, word [ebx + 0x318]
add ax, 4
mov word [ebx + 0x31a], ax
jmp 0x10061310
mov word [ebx + 0x31a], 0
lea ecx, [esp + 0x70]
push ecx
push ebx
call fcn.1005f570
add esp, 8
cmp eax, 0xf42400
mov dword [esp + 0x18], eax
jne 0x10064800
mov esi, dword [esp + 0x10]
cmp esi, 2
jbe 0x1006157f
cmp esi, 3
jbe 0x1006152a
cmp byte [esp + esi + 0x6d], 0x6e
jne 0x1006152a
cmp byte [esp + esi + 0x6e], 0x74
jne 0x1006152a
mov eax, dword [ebx + 0x320]
test eax, eax
je 0x1006137c
cmp esi, 7
jb 0x1006137c
movsx edx, word [ebx + 0x31a]
mov eax, esi
sub eax, edx
cmp eax, 4
ja 0x1006152a
mov al, byte [esp + esi + 0x6c]
cmp al, 0x61
mov cl, byte [esp + esi + 0x6f]
mov byte [esp + 0x34], al
mov byte [esp + 0x44], cl
je 0x10061398
cmp al, 0x65
jne 0x1006152a
cmp cl, 0x65
je 0x100613a6
cmp cl, 0x69
jne 0x1006152a
cmp cl, 0x69
jne 0x1006140b
lea ecx, [esp + 0x70]
push ecx
lea edx, [esp + 0xdc]
push 0xffffffffffffffff
push edx
call fcn.100839e0
push 0xffffffffffffffff
lea eax, [esp + 0xe8]
push eax
push ebx
mov byte [esp + esi + 0xef], 0x65
call fcn.10040980
add esp, 0x18
cmp eax, 0xf42400
mov dword [esp + 0x18], eax
je 0x1006140b
mov cl, byte [ebx + 0x10]
and cl, 0xe0
cmp cl, 0x40
jne 0x1006140b
mov al, byte [ebx + 0x11]
mov dl, al
and dl, 0xe0
cmp dl, 0x80
jne 0x1006140b
and al, 0x18
cmp al, 0x18
je 0x10064800
mov esi, dword [esp + 0x10]
cmp byte [esp + esi + 0x6b], 0x69
jne 0x1006141d
cmp byte [esp + esi + 0x6c], 0x61
jne 0x1006152a
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0xdc]
push 0xffffffffffffffff
push ecx
call fcn.100839e0
mov al, byte [esp + 0x40]
add esp, 0xc
cmp al, 0x61
lea edi, [esp + esi + 0xd4]
mov byte [edi], 0
je 0x1006145d
cmp al, 0x65
jne 0x10061476
mov edx, dword [0x100b2074]
push edx
push 0xffffffffffffffff
lea eax, [esp + 0xe0]
push eax
jmp 0x1006146e
mov ecx, dword [0x100b2078]
push ecx
push 0xffffffffffffffff
lea edx, [esp + 0xe0]
push edx
call fcn.10083990
add esp, 0xc
or byte [ebx + 6], 0x10
push 0xffffffffffffffff
lea eax, [esp + 0xdc]
push eax
push ebx
mov word [ebx + 8], 0x30
call fcn.10040980
mov esi, eax
add esp, 0xc
cmp esi, 0xf42400
mov dword [esp + 0x18], esi
jne 0x100614db
mov ecx, dword [0x100b2070]
push ecx
lea edx, [esp + 0xdc]
push 0xffffffffffffffff
push edx
mov byte [edi], 0
call fcn.10083990
push 0xffffffffffffffff
lea eax, [esp + 0xe8]
push eax
push ebx
call fcn.10040980
mov esi, eax
add esp, 0x18
cmp esi, 0xf42400
mov dword [esp + 0x18], esi
je 0x1006152a
mov dl, byte [ebx + 0x10]
and dl, 0xe0
xor ecx, ecx
cmp dl, 0x80
jne 0x100614ed
mov ecx, 5
mov al, byte [ecx + ebx + 0x10]
mov dl, al
and dl, 0xe0
cmp dl, 0xc0
jne 0x1006150d
cmp dword [ebx + 0xc], ecx
jbe 0x1006150d
and al, 1
dec al
neg al
sbb eax, eax
inc eax
lea ecx, [ecx + eax*2 + 5]
mov al, byte [ecx + ebx + 0x10]
lea edi, [ecx + ebx + 0x10]
and al, 0xe0
cmp al, 0x20
jne 0x10061522
mov eax, dword [ebx + 0xc]
cmp eax, ecx
ja 0x1006153b
mov dword [esp + 0x18], 0xf42400
xor esi, esi
mov dword [esp + 0x64], 0x5c
xor edi, edi
jmp 0x1006230d
cmp esi, 0xf42400
je 0x1006152a
test ecx, ecx
je 0x1006155a
sub eax, ecx
push eax
mov dword [ebx + 0xc], eax
lea eax, [ebx + 0x10]
push edi
push eax
call fcn.10040980
add esp, 0xc
lea ecx, [esp + 0xd8]
push ecx
lea edx, [ebx + 0x110]
push 0xffffffffffffffff
push edx
call fcn.100839e0
add esp, 0xc
mov byte [ebx + 1], 0x30
mov byte [ebx], 1
jmp 0x10064800
mov eax, dword [esp + 0x10]
cmp eax, 4
mov ecx, dword [0x100bbb44]
mov dword [esp + 0x28], 0
mov byte [esp + eax + 0x70], 0
mov dword [esp + 0x20], ecx
jbe 0x10061864
mov al, byte [ebx + 0x31c]
test al, al
jne 0x10061864
mov dl, byte [esp + 0x70]
cmp dl, 0x7a
movzx eax, dl
mov si, word [ecx + eax*2 - 0xc2]
mov ax, word [ecx + eax*2 - 0xc0]
mov word [esp + 0x30], si
mov word [esp + 0x28], ax
je 0x10061864
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
cmp edx, eax
jbe 0x10061864
cmp edx, 0x7d0
ja 0x10061864
cmp eax, 0x7d0
ja 0x10061864
add ecx, 0x34
cmp eax, edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
jae 0x10061864
jmp 0x10061620
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov cl, byte [eax + esi + 1]
cmp cl, byte [esp + 0x71]
lea edi, [eax + esi + 1]
ja 0x10061864
add esi, eax
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10061641
sub eax, edx
mov edx, dword [esp + 0x10]
dec eax
sub edx, eax
dec edx
cmp edx, 3
mov dword [esp + 0x38], eax
jb 0x1006184a
test eax, eax
je 0x10061686
mov cl, byte [esp + eax + 0x70]
cmp cl, byte [esi + eax]
jne 0x1006184a
cmp eax, 1
je 0x10061686
lea ecx, [eax - 1]
lea esi, [esp + 0x71]
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x1006184a
lea eax, [esp + 0x70]
push eax
call fcn.100581a0
add esp, 4
test al, al
je 0x1006184a
mov eax, dword [esp + 0x38]
lea eax, [esp + eax + 0x71]
push 0
push eax
mov dword [esp + 0x54], eax
call fcn.1005a4b0
add esp, 8
test ax, ax
je 0x1006184a
mov ecx, dword [esp + 0x4c]
push 0xffffffffffffffff
push ecx
push ebx
call fcn.10040980
add esp, 0xc
cmp eax, 0xf42400
je 0x1006184a
mov cl, byte [ebx + 0x10]
and cl, 0xe0
xor eax, eax
cmp cl, 0x40
mov byte [esp + 0x44], cl
je 0x10061725
cmp cl, 0x80
jne 0x100616f1
add eax, 5
jmp 0x1006170c
cmp cl, 0xc0
jne 0x10061864
mov dl, byte [ebx + eax + 0x10]
and dl, 1
dec dl
neg dl
sbb edx, edx
inc edx
lea eax, [eax + edx*2 + 5]
cmp eax, dword [ebx + 0xc]
jae 0x10061864
mov cl, byte [ebx + eax + 0x10]
and cl, 0xe0
cmp cl, 0x40
mov byte [esp + 0x44], cl
jne 0x100616e7
cmp word [esp + 0x54], 0
jle 0x100617be
mov cl, byte [eax + ebx + 0x11]
and cl, 0xe0
cmp cl, 0x80
je 0x100617be
cmp cl, 0x60
je 0x100617be
lea esi, [esp + 0x70]
lea edx, [esi + 1]
lea ecx, [ecx]
mov cl, byte [esi]
inc esi
test cl, cl
jne 0x10061750
sub esi, edx
mov cl, byte [esp + esi + 0x1d8]
mov edx, dword [esp + 0x4c]
mov byte [esp + 0x34], cl
lea esi, [ebx + eax + 0x10]
mov ecx, 0x14
lea edi, [esp + 0x238]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 0xc]
sub ecx, eax
push edx
mov dword [esp + 0x64], eax
lea eax, [esp + 0x64]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x38]
push eax
push ecx
push ebx
call fcn.10059e70
add esp, 0x10
test ax, ax
je 0x10061864
mov edx, dword [esp + 0x30]
mov ecx, 0x14
lea esi, [esp + 0x238]
lea edi, [ebx + 0x10]
rep movsd dword es:[edi], dword [esi]
mov dword [ebx + 0xc], edx
xor eax, eax
lea edx, [ebx + eax + 0x10]
mov esi, edx
mov ecx, 0x14
lea edi, [esp + 0x238]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 0xc]
sub ecx, eax
push 0xffffffffffffffff
lea eax, [esp + 0xdc]
push eax
push edx
mov dword [esp + 0x3c], ecx
call fcn.10058770
mov ecx, dword [esp + 0x44]
inc ecx
mov edx, ecx
shr ecx, 2
lea eax, [ebx + 0x10]
mov edi, eax
lea esi, [esp + 0x7c]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0xe4]
and ecx, 3
push edx
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x48]
push 0xffffffffffffffff
push eax
mov byte [ecx + ebx + 0x11], 0
call fcn.10083990
lea esi, [ebx + 0x10]
push esi
lea eax, [esp + 0x2bc]
push 0xffffffffffffffff
push eax
call fcn.100839e0
push 0xffffffffffffffff
push esi
push ebx
call fcn.10040980
add esp, 0x30
cmp eax, 0xf42400
mov dword [esp + 0x18], eax
jne 0x100618b7
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x38]
lea eax, [ecx + edx + 2]
cmp eax, dword [esp + 0x28]
mov dword [esp + 0x24], eax
jb 0x10061620
cmp word [esp + 0x54], 0
jg 0x10063643
mov eax, dword [esp + 0x10]
cmp eax, 7
jbe 0x10061938
cmp byte [esp + eax + 0x6f], 0x69
jne 0x10061938
cmp byte [esp + eax + 0x6d], 0x69
jne 0x10061938
cmp byte [esp + eax + 0x6e], 0x73
jne 0x10061938
mov al, byte [esp + eax + 0x6c]
cmp al, 0x76
je 0x100618ae
cmp al, 0x63
jne 0x10061938
mov byte [ebx + 3], 1
jmp 0x100619d7
mov al, byte [ebx + 0x10]
mov cl, al
xor esi, esi
and cl, 0xe0
cmp cl, 0xc0
mov dword [esp + 0x40], esi
jne 0x100618db
and al, 1
dec al
neg al
sbb eax, eax
inc eax
lea esi, [eax + eax + 5]
mov dword [esp + 0x40], esi
test byte [esi + ebx + 0x11], 0x40
jne 0x10061864
mov esi, dword [esp + 0x40]
mov al, byte [ebx + esi + 0x10]
mov cl, al
and cl, 0xe0
cmp cl, 0x20
jne 0x1006190e
mov dl, byte [ebx + esi + 0x11]
test dl, 0x38
je 0x100635bd
cmp cl, cl
jne 0x1006190e
test dl, 0x40
je 0x100635bd
cmp cl, 0xc0
jne 0x10061864
cmp dword [ebx + 0xc], 5
jbe 0x10061864
mov edx, dword [esp + 0x40]
and al, 1
dec al
neg al
sbb eax, eax
inc eax
lea esi, [edx + eax*2 + 5]
mov dword [esp + 0x40], esi
jmp 0x100618e6
mov al, byte [ebx + 0x31c]
test al, al
jne 0x10061c18
mov eax, dword [esp + 0x10]
cmp eax, 6
jbe 0x10061c18
mov esi, eax
mov cx, word [esp + esi + 0x6d]
lea esi, [esp + esi + 0x6d]
mov eax, 0x100aa434
cmp cx, word [eax]
je 0x1006197c
mov ecx, 3
mov edi, 0x100aa430
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10061c18
mov ecx, dword [esp + 0x10]
mov al, byte [esp + ecx + 0x6f]
cmp al, 0x61
je 0x10061998
cmp al, 0x65
je 0x10061998
cmp al, 0x69
je 0x10061998
cmp al, 0x6f
jne 0x10061c18
mov al, byte [esp + ecx + 0x6c]
cmp al, 0x6d
je 0x100619d7
cmp al, 0x74
jne 0x100619af
mov ecx, dword [esp + 0x10]
cmp byte [esp + ecx + 0x6b], 0x65
jne 0x100619d7
cmp al, 0x73
je 0x100619d7
cmp al, 0x63
je 0x100619d7
cmp al, 0x76
je 0x100619d7
mov esi, dword [esp + 0x10]
mov ecx, 3
mov edi, 0x100a7774
lea esi, [esp + esi + 0x6a]
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10061c18
mov edi, dword [esp + 0x10]
lea eax, [edi - 4]
cmp eax, 3
ja 0x100619f6
movzx ecx, byte [esp + edi + 0x6b]
mov al, byte [ecx + 0x100bb5c0]
test al, al
jne 0x10061c18
lea edx, [esp + 0x70]
push edx
lea eax, [esp + 0xdc]
push 0xffffffffffffffff
push eax
mov dword [esp + 0x3c], 0
call fcn.100839e0
mov al, byte [esp + edi + 0x78]
add esp, 0xc
cmp al, 0x69
jne 0x10061a2b
mov byte [ebx + 2], 6
mov byte [esp + edi + 0xd2], 0
jmp 0x10061a37
mov byte [ebx + 2], 4
mov byte [esp + edi + 0xd4], 0
push 0x100a6528
lea ecx, [esp + 0xdc]
push 0xffffffffffffffff
push ecx
call fcn.10083990
push 0xffffffffffffffff
lea edx, [esp + 0xe8]
push edx
push ebx
call fcn.10040980
mov esi, eax
add esp, 0x18
cmp esi, 0xf42400
mov dword [esp + 0x18], esi
jne 0x10061b1f
lea ecx, [esp + 0xd8]
lea edx, [ecx + 1]
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10061a80
sub ecx, edx
cmp byte [esp + ecx + 0xd6], 0x72
mov dword [esp + 0x30], ecx
jne 0x10061ad0
push 0xffffffffffffffff
lea eax, [esp + 0xdc]
push eax
push ebx
mov byte [esp + ecx + 0xe3], 0x72
mov byte [esp + ecx + 0xe4], 0x65
mov byte [esp + ecx + 0xe5], 0
mov dword [esp + 0x3c], 2
call fcn.10040980
mov esi, eax
add esp, 0xc
mov dword [esp + 0x18], esi
cmp esi, 0xf42400
jne 0x10061b0f
cmp edi, 6
jbe 0x10061b13
lea edx, [esp + 0x70]
push edx
lea eax, [esp + 0xdc]
push 0xffffffffffffffff
push eax
mov dword [esp + 0x60], 1
call fcn.100839e0
movzx ecx, byte [ebx + 2]
add esp, 0xc
sub edi, ecx
mov byte [esp + edi + 0xd8], 0
jmp 0x10061fc5
mov edi, dword [esp + 0x10]
cmp esi, 0xf42400
je 0x10061c1c
mov al, byte [ebx + 0x10]
mov cl, al
xor esi, esi
and cl, 0xe0
cmp cl, 0x80
mov dword [esp + 0x40], esi
jne 0x10061b41
cmp dword [ebx + 0xc], 5
jbe 0x10061b41
mov esi, 5
mov dword [esp + 0x40], esi
cmp cl, 0xc0
jne 0x10061b5d
cmp dword [ebx + 0xc], 5
jbe 0x10061b5d
and al, 1
dec al
neg al
sbb eax, eax
inc eax
lea esi, [esi + eax*2 + 5]
mov dword [esp + 0x40], esi
mov cl, byte [esi + ebx + 0x10]
and cl, 0xe0
cmp cl, 0x20
jne 0x10061b6e
cmp dword [ebx + 0xc], esi
ja 0x10061b7c
mov esi, 0xf42400
mov dword [esp + 0x18], esi
jmp 0x10061ad8
mov eax, dword [esp + 0x10]
mov cl, byte [esp + eax + 0x6e]
xor edx, edx
cmp cl, 0x6c
setne dl
lea ecx, [esp + 0xd8]
push ecx
push 0xffffffffffffffff
add edx, 3
mov edi, edx
lea edx, [esp + 0x2a8]
push edx
call fcn.100839e0
push 0xffffffffffffffff
lea eax, [esp + 0x2b0]
push eax
push edi
push 0xffffffffffffffff
lea ecx, [esi + ebx + 0x10]
push ecx
push 0
push ebx
call fcn.1005ea90
add esp, 0x28
cmp ax, 1
jne 0x10061c18
test esi, esi
mov byte [ebx], 2
je 0x10061bec
mov eax, dword [ebx + 0xc]
sub eax, esi
push eax
lea edx, [esi + ebx + 0x10]
mov dword [ebx + 0xc], eax
push edx
lea eax, [ebx + 0x10]
push eax
call fcn.10040980
add esp, 0xc
cmp dword [esp + 0x30], 2
jne 0x10061bfa
mov byte [ebx], 3
mov byte [ebx + 1], 0x10
lea ecx, [esp + 0xd8]
push ecx
lea edx, [ebx + 0x110]
push 0xffffffffffffffff
push edx
call fcn.100839e0
add esp, 0xc
jmp 0x10064800
mov edi, dword [esp + 0x10]
cmp edi, 5
mov dword [esp + 0x30], 0
jb 0x10063643
mov eax, dword [esp + 0x10]
mov cl, byte [esp + eax + 0x6d]
cmp cl, 0x69
mov byte [esp + 0x3f], cl
je 0x10061c43
cmp cl, 0x65
jne 0x10061c62
cmp byte [esp + eax + 0x6e], 0x6c
je 0x10061c62
mov al, byte [esp + eax + 0x6f]
cmp al, 0x6f
je 0x10063643
cmp al, 0x61
je 0x10063643
mov eax, dword [esp + 0x10]
mov dl, byte [esp + eax + 0x6c]
cmp dl, 0x74
mov byte [esp + 0x17], dl
jne 0x10061c9b
cmp cl, 0x61
jne 0x10061c7b
cmp byte [esp + eax + 0x6f], 0x6f
je 0x10061c93
cmp dl, 0x74
jne 0x10061c9b
cmp cl, 0x69
jne 0x10061c9b
cmp byte [esp + eax + 0x6e], 0x6c
jne 0x10061c9b
cmp byte [esp + eax + 0x6f], 0x65
je 0x10061c9b
mov dword [esp + 0x5c], 1
mov ecx, dword [esp + 0x10]
movzx eax, byte [esp + ecx + 0x6e]
movzx edx, byte [esp + ecx + 0x6f]
shl eax, 8
add eax, edx
lea esi, [esp + ecx + 0x6d]
mov edi, 0x100a7774
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10061d42
mov al, byte [esp + 0x17]
cmp al, 0x72
jne 0x10061cdc
mov ecx, dword [esp + 0x10]
cmp byte [esp + ecx + 0x6b], al
je 0x10063643
cmp al, 0x65
jne 0x10061cef
mov edx, dword [esp + 0x10]
cmp byte [esp + edx + 0x6b], 0x72
je 0x10063643
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0xdc]
push 0xffffffffffffffff
push ecx
call fcn.100839e0
mov esi, dword [esp + 0x1c]
mov al, byte [esp + esi + 0x78]
add esp, 0xc
cmp al, 0x72
mov byte [esp + esi + 0xd5], 0
jne 0x10061d31
push 0x100a6528
lea edx, [esp + 0xdc]
push 0xffffffffffffffff
push edx
call fcn.10083990
add esp, 0xc
mov dword [esp + 0x30], 1
mov byte [ebx + 2], 3
jmp 0x10061e04
cmp eax, 0x6d69
je 0x10061d8c
cmp eax, 0x7469
je 0x10061d8c
cmp eax, 0x7369
je 0x10061d8c
cmp eax, 0x6369
je 0x10061d8c
cmp eax, 0x6e65
je 0x10061d8c
cmp eax, 0x7669
je 0x10061d8c
cmp eax, 0x6c6f
je 0x10061d8c
cmp eax, 0x6c65
je 0x10061d8c
cmp eax, 0x6c69
je 0x10061d8c
cmp eax, 0x6c61
jne 0x10063643
mov al, byte [esp + 0x3f]
cmp al, 0x72
jne 0x10061d9e
cmp byte [esp + 0x17], al
je 0x10063643
cmp al, 0x65
jne 0x10061dad
cmp byte [esp + 0x17], 0x72
je 0x10063643
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0xdc]
push 0xffffffffffffffff
push ecx
call fcn.100839e0
mov eax, dword [esp + 0x1c]
mov cl, byte [esp + eax + 0x79]
mov byte [esp + eax + 0xe2], 0
lea eax, [esp + eax + 0x79]
add esp, 0xc
cmp cl, 0x72
jne 0x10061dfc
push 0x100a6528
lea edx, [esp + 0xdc]
push 0xffffffffffffffff
push edx
call fcn.10083990
add esp, 0xc
mov dword [esp + 0x30], 1
mov esi, dword [esp + 0x10]
mov byte [ebx + 2], 2
mov dword [esp + 0x54], 1
lea esp, [esp]
mov eax, dword [ebx + 0x320]
test eax, eax
je 0x10061e31
cmp esi, 7
jb 0x10061e31
movsx eax, word [ebx + 0x31a]
sub esi, eax
cmp esi, 3
ja 0x10061f3d
push 0xffffffffffffffff
lea ecx, [esp + 0xdc]
push ecx
push ebx
call fcn.10040980
add esp, 0xc
cmp eax, 0xf42400
mov dword [esp + 0x18], eax
je 0x10061f3d
mov cl, byte [ebx + 0x10]
mov dl, cl
xor esi, esi
and dl, 0xe0
cmp dl, 0x20
mov dword [esp + 0x40], esi
je 0x10061ee4
mov edi, 5
nop
mov al, byte [ebx + esi + 0x10]
and al, 0xe0
cmp al, 0xc0
jne 0x10061e94
cmp dword [ebx + 0xc], edi
jbe 0x10061e94
test esi, esi
jne 0x10061e94
mov al, cl
and al, 1
dec al
neg al
sbb eax, eax
inc eax
lea esi, [eax + eax + 5]
jmp 0x10061ed6
cmp al, 0x80
jne 0x10061f3d
cmp dword [ebx + 0xc], edi
jbe 0x10061f3d
test esi, esi
jne 0x10061f3d
mov al, byte [ebx + 0x15]
mov dl, al
and dl, 0xe0
cmp dl, 0xc0
mov esi, edi
mov dword [esp + 0x40], esi
jne 0x10061eda
mov edx, dword [ebx + 0xc]
sub edx, edi
cmp edx, edi
jbe 0x10061eda
and al, 1
dec al
neg al
sbb eax, eax
inc eax
lea esi, [eax + eax + 0xa]
mov dword [esp + 0x40], esi
mov al, byte [ebx + esi + 0x10]
and al, 0xe0
cmp al, 0x20
jne 0x10061e70
mov edx, dword [esp + 0x10]
mov al, byte [esp + edx + 0x6e]
xor ecx, ecx
cmp al, 0x6c
setne cl
lea eax, [esp + 0xd8]
push eax
push 0xffffffffffffffff
add ecx, 3
mov edi, ecx
lea ecx, [esp + 0x2a8]
push ecx
call fcn.100839e0
push 0xffffffffffffffff
lea edx, [esp + 0x2b0]
push edx
push edi
push 0xffffffffffffffff
lea eax, [ebx + esi + 0x10]
push eax
push 0
push ebx
mov byte [ebx + 0x210], 0
call fcn.1005ea90
add esp, 0x28
cmp ax, 1
je 0x100645ef
mov eax, dword [esp + 0x30]
cmp eax, 1
jne 0x10061fa6
lea esi, [esp + 0xd8]
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x10061f50
sub esi, ecx
cmp byte [esp + esi + 0xd6], 0x72
jne 0x10061fc5
lea ecx, [esp + 0xd8]
push ecx
lea edx, [esp + 0x3a4]
push 0xffffffffffffffff
push edx
call fcn.100839e0
mov byte [esp + esi + 0xe3], 0x72
mov byte [esp + esi + 0xe4], 0x65
mov byte [esp + esi + 0xe5], 0
mov esi, dword [esp + 0x1c]
add esp, 0xc
mov dword [esp + 0x30], 2
jmp 0x10061e10
cmp eax, 2
jne 0x10061fc5
lea eax, [esp + 0x3a0]
push eax
lea ecx, [esp + 0xdc]
push 0xffffffffffffffff
push ecx
call fcn.100839e0
add esp, 0xc
lea eax, [esp + 0xd8]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10061fd0
sub eax, edx
mov esi, eax
cmp esi, 4
mov dl, byte [esp + esi + 0xd6]
mov dword [esp + 0x24], esi
mov byte [esp + 0x3aa], cl
ja 0x10062062
mov al, byte [esp + esi + 0x70]
cmp byte [esp + esi + 0xd7], al
jne 0x10062062
cmp al, 0x6d
je 0x1006201a
cmp al, 0x74
je 0x1006201a
cmp al, 0x63
je 0x1006201a
cmp al, 0x6c
je 0x1006201a
cmp al, 0x6e
jne 0x10062062
cmp byte [esp + esi + 0x71], 0x65
jne 0x10062062
movzx edx, dl
mov al, byte [edx + 0x100bb5c0]
test al, al
je 0x10062062
lea eax, [esp + 0xd8]
push eax
lea ecx, [esp + 0x3a4]
push 0xffffffffffffffff
push ecx
call fcn.100839e0
mov al, byte [esp + esi + 0xe2]
add esp, 0xc
cmp al, 0x69
sete dl
dec dl
mov cl, 1
mov byte [esp + 0x3aa], cl
and edx, 0x69
mov byte [esp + esi + 0xd7], dl
mov eax, dword [ebx + 0x320]
test eax, eax
mov dword [esp + 0x18], 0xf42400
je 0x10062094
mov eax, dword [esp + 0x10]
cmp eax, 7
jb 0x10062094
movsx edx, word [ebx + 0x31a]
sub eax, edx
cmp eax, 3
jbe 0x10062094
cmp cl, 1
jne 0x10062245
push 0xffffffffffffffff
lea eax, [esp + 0xdc]
push eax
push ebx
call fcn.10040980
add esp, 0xc
cmp eax, 0xf42400
mov dword [esp + 0x18], eax
je 0x1006221d
mov cl, byte [ebx + 0x10]
xor esi, esi
and cl, 0xe0
cmp cl, 0x80
mov dword [esp + 0x24], esi
jne 0x100620d0
mov esi, 5
mov dword [esp + 0x24], esi
mov al, byte [esi + ebx + 0x10]
mov dl, al
and dl, 0xe0
cmp dl, 0xc0
jne 0x100620f4
cmp dword [ebx + 0xc], esi
jbe 0x100620f4
and al, 1
dec al
neg al
sbb eax, eax
inc eax
lea esi, [esi + eax*2 + 5]
mov dword [esp + 0x24], esi
mov cl, byte [esi + ebx + 0x10]
lea eax, [esi + ebx + 0x10]
and cl, 0xe0
cmp cl, 0x40
jne 0x1006221d
cmp dword [ebx + 0xc], esi
jbe 0x1006221d
push 0xffffffffffffffff
lea edx, [esp + 0x4a4]
push edx
push eax
call fcn.10058770
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x3c], ecx
mov eax, ecx
shr ecx, 2
lea esi, [ebx + 0x10]
lea edi, [esp + 0x244]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x1c]
mov dl, byte [esp + ecx + 0x7a]
xor eax, eax
cmp dl, 0x6c
setne al
push 0xffffffffffffffff
lea edx, [esp + 0x2b0]
push edx
add eax, 3
push eax
push 0xffffffffffffffff
lea eax, [esp + 0x4bc]
push eax
push 1
push ebx
call fcn.1005ea90
add esp, 0x28
cmp ax, 1
jne 0x1006221d
mov ecx, dword [esp + 0x30]
mov dword [ebx + 0xc], ecx
mov edx, ecx
shr ecx, 2
lea esi, [esp + 0x238]
lea edi, [ebx + 0x10]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
lea eax, [esp + 0xd8]
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100621a6
mov ecx, dword [esp + 0x24]
sub eax, edx
mov al, byte [esp + eax + 0x70]
mov byte [esp + 0x34], al
lea edx, [esp + 0xd8]
push edx
lea eax, [esp + 0x50]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x38]
push eax
push ecx
push ebx
call fcn.10059e70
movzx edx, word [esp + 0x5c]
movzx eax, ax
add esp, 0x10
cmp eax, 1
mov dword [esp + 0x24], edx
jne 0x1006221d
lea eax, [esp + 0xd8]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100621f5
sub eax, edx
cmp eax, 3
jne 0x1006463c
cmp byte [esp + 0x71], 0x61
jne 0x1006463c
cmp byte [esp + 0x72], 0x69
jne 0x1006463c
cmp byte [esp + 0x3aa], 1
jne 0x10062241
lea eax, [esp + 0x3a0]
push eax
lea ecx, [esp + 0xdc]
push 0xffffffffffffffff
push ecx
call fcn.100839e0
add esp, 0xc
mov esi, dword [esp + 0x24]
test esi, esi
jbe 0x1006226a
cmp byte [esp + esi + 0xd7], 0x6e
jne 0x1006226a
push 0x100a708c
lea edx, [esp + 0xdc]
push 0xffffffffffffffff
push edx
call fcn.10083990
add esp, 0xc
lea eax, [esp + 0xd8]
push eax
lea ecx, [esp + 0x74]
push ecx
push ebx
call fcn.100599f0
movzx eax, ax
add esp, 0xc
test eax, eax
je 0x100622a8
xor edx, edx
cmp eax, 2
sete dl
mov esi, 0x23
mov dword [esp + 0x64], 0x59
mov edi, 0x224
inc edx
mov dword [esp + 0x68], edx
jmp 0x100622ba
mov esi, 0x24
mov dword [esp + 0x64], 0x2c
mov edi, 0x232
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x4a4]
push 0xffffffffffffffff
push ecx
call fcn.100839e0
lea edx, [esp + 0xe4]
push edx
lea eax, [esp + 0x80]
push 0xffffffffffffffff
push eax
call fcn.100839e0
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x88]
add esp, 0x18
mov dword [esp + 0x58], ecx
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10062300
sub eax, edx
mov dword [esp + 0x10], eax
push 0x100a6508
lea edx, [esp + 0x74]
push 0xffffffffffffffff
push edx
mov byte [esp + 0x4b], 0
mov byte [esp + 0x5f], 0
mov byte [esp + 0x2b], 0
mov byte [esp + 0x23], 0
mov byte [esp + 0x2a], 0
call fcn.10083990
mov eax, dword [0x100bb9f4]
movsx ecx, si
add esp, 0xc
add eax, edi
mov byte [esp + 0x1d], 0xff
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], ecx
movsx edx, word [esp + 0x64]
mov eax, dword [esp + 0x28]
cmp eax, edx
jge 0x10063547
cmp eax, 2
jae 0x10062372
mov esi, 8
mov dword [esp + 0x24], esi
jmp 0x100623d6
cmp eax, 0x13
jae 0x10062382
mov esi, 6
mov dword [esp + 0x24], esi
jmp 0x100623d6
cmp eax, 0x23
jae 0x10062392
mov esi, 5
mov dword [esp + 0x24], esi
jmp 0x100623d6
cmp eax, 0x3f
jae 0x100623a2
mov esi, 4
mov dword [esp + 0x24], esi
jmp 0x100623d6
cmp eax, 0x52
jae 0x100623b2
mov esi, 3
mov dword [esp + 0x24], esi
jmp 0x100623d6
cmp eax, 0x55
jae 0x100623c2
mov esi, 2
mov dword [esp + 0x24], esi
jmp 0x100623d6
cmp eax, 0x5c
jae 0x100623d2
mov esi, 1
mov dword [esp + 0x24], esi
jmp 0x100623d6
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x10]
sub edi, esi
cmp di, 1
mov dword [esp + 0x4c], edi
jge 0x100624b2
cmp esi, 1
jbe 0x10062580
cmp esi, 8
jne 0x10062401
mov esi, 7
mov dword [esp + 0x24], esi
mov edx, dword [0x100bba80]
movsx eax, word [edx + esi*8 - 0x10]
add eax, dword [0x100bb9f4]
mov dword [esp + 0x20], eax
mov eax, dword [0x100bb5b4]
movsx ecx, word [eax + esi*2 - 4]
cmp byte [ebx + 0x31c], 1
mov dword [esp + 0x28], ecx
mov byte [esp + 0x1d], 0xff
jne 0x10062351
movsx edx, word [ebx + 0x31a]
mov eax, dword [esp + 0x10]
sub eax, edx
dec esi
cmp eax, esi
jbe 0x10062351
mov cl, byte [ebx + 0x31a]
inc cl
mov byte [ebx + 0x316], cl
movzx edx, byte [ebx + 0x320]
mov eax, dword [esp + 0x10]
push edx
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x5c]
lea edx, [esp + 0x1e0]
push edx
push ecx
push eax
lea edx, [esp + 0x84]
push edx
push ebx
mov byte [esp + eax + 0x8c], 0
call fcn.1005ef70
movzx eax, ax
add esp, 0x1c
test eax, eax
mov dword [esp + 0x30], eax
je 0x1006157f
cmp word [esp + 0x5c], 0
jne 0x1006157f
jmp 0x10064800
cmp esi, 1
jbe 0x10062580
movsx eax, di
mov cl, byte [esp + eax + 0x70]
movzx eax, cl
mov dl, byte [eax + 0x100bb5c0]
test dl, dl
je case.0x10062508.98
cmp cl, 0x69
jbe 0x100624ea
cmp esi, 3
jne case.0x10062508.98
cmp cl, 0x6f
jne 0x10062401
cmp byte [esp + 0x1d], 0xff
jne 0x1006257c
add eax, 0xffffff9f
cmp eax, 0xe
ja case.0x10062508.98
movzx eax, byte [eax + 0x10064940]
jmp dword [eax*4 + 0x1006492c]
xor eax, eax
jmp 0x10062526
mov eax, 1
jmp 0x10062526
mov eax, 2
jmp 0x10062526
mov eax, 3
mov edx, dword [0x100bba80]
lea edi, [eax + esi*4]
mov dword [esp + 0x2c], eax
mov ax, word [edx + edi*2 - 8]
cmp ax, 0x2710
je case.0x10062508.98
mov edx, dword [0x100bb9f4]
movsx eax, ax
add eax, edx
movsx edx, word [esp + 0x4c]
mov dl, byte [esp + edx + 0x71]
cmp dl, byte [eax + 1]
mov dword [esp + 0x20], eax
jb case.0x10062508.98
mov edx, dword [0x100bb1e0]
movzx edx, byte [edi + edx - 4]
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x28], edx
mov byte [esp + 0x1d], cl
jmp 0x10062584
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0x20]
mov al, byte [eax]
cmp al, byte [esp + 0x1d]
jbe 0x1006259a
cmp esi, 1
mov byte [esp + 0x1d], 0xff
ja case.0x10062508.98
movsx ecx, di
mov dl, byte [esp + ecx + 0x70]
cmp dl, al
lea esi, [esp + ecx + 0x70]
jne 0x10063593
cmp dword [esp + 0x24], 1
je 0x100625c5
mov al, byte [esp + ecx + 0x71]
mov ecx, dword [esp + 0x20]
cmp al, byte [ecx + 1]
jne 0x10063593
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10063593
cmp dword [esp + 0x28], 0x5a
jne 0x100625eb
cmp byte [ebx + 0x324], 0xe8
je 0x10063547
mov eax, dword [esp + 0x10]
sub eax, dword [esp + 0x24]
cmp eax, 0x16
ja 0x10063547
mov ecx, dword [ebx + 0x320]
mov edx, 1
cmp ecx, edx
jne 0x10062663
mov ecx, dword [esp + 0x10]
cmp ecx, 6
ja 0x1006261c
jne 0x10062663
cmp dword [esp + 0x24], edx
jne 0x10062663
movsx edx, word [ebx + 0x31a]
sub ecx, edx
cmp ecx, dword [esp + 0x24]
jbe 0x10062663
cmp word [esp + 0x54], 0
jne 0x10062663
mov dl, byte [esp + eax + 0x6e]
cmp dl, 0x73
lea eax, [esp + eax + 0x70]
jne 0x1006264c
cmp byte [eax - 1], 0x63
jne 0x1006264c
cmp byte [eax - 3], 0x69
je 0x10062663
cmp byte [eax - 1], 0x68
jne 0x1006245a
mov eax, dword [esp + 0x24]
inc eax
cmp ecx, eax
jne 0x1006245a
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov cl, byte [esi + edi + 7]
lea edx, [esp + 0x70]
push edx
inc esi
lea eax, [esp + 0xdc]
push 0xffffffffffffffff
push eax
mov dword [esp + 0x30], esi
mov byte [esp + 0x40], cl
call fcn.100839e0
lea eax, [esp + 0x7c]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10062696
sub eax, edx
sub eax, esi
mov cl, byte [esp + eax + 0xd8]
cmp cl, 0x61
mov dword [esp + 0x38], eax
lea eax, [esp + eax + 0xd8]
jne 0x100626bd
cmp esi, 2
je 0x100626d2
mov dl, byte [esp + 0x34]
cmp dl, 0x31
jne 0x100626d8
cmp byte [esi + edi + 0xb], 0x35
jne 0x100626d8
mov byte [esp + 0x53], 1
mov dl, 0x36
mov byte [esp + 0x34], dl
cmp byte [eax - 1], 0x68
mov byte [eax], 0
jne 0x1006273c
cmp dword [esp + 0x38], 1
jbe 0x1006273c
mov cl, byte [eax - 2]
cmp cl, 0x63
je 0x100626f5
cmp cl, 0x67
jne 0x1006273c
mov ecx, dword [esp + 0x38]
mov cl, byte [esp + ecx + 0x70]
cmp cl, 0x69
je 0x10062707
cmp cl, 0x65
jne 0x1006273c
cmp dl, 0x31
je 0x10062733
cmp dl, 0x34
je 0x10062733
cmp dl, 0x36
je 0x10062733
cmp dl, 0x33
je 0x1006273c
mov esi, dword [esp + 0x20]
mov edi, str.endo
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10063547
mov byte [eax - 1], 0
mov byte [esp + 0x1e], 1
cmp dword [esp + 0x38], 2
jbe 0x10062775
add eax, 0xfffffffd
mov edi, 0x100aa424
mov esi, eax
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10062775
cmp dword [esp + 0x24], 2
je 0x1006276d
mov ecx, dword [esp + 0x28]
cmp ecx, 0x51
je 0x1006276d
cmp ecx, 0x3f
jne 0x10062775
mov byte [eax], 0
mov byte [esp + 0x17], 1
lea eax, [esp + 0xd8]
push eax
lea ecx, [esp + 0x23c]
push 0xffffffffffffffff
push ecx
call fcn.100839e0
mov eax, dword [esp + 0x2c]
mov edi, 0xf42400
add esp, 0xc
mov dword [esp + 0x18], edi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100627a0
sub eax, edx
cmp eax, 2
jbe 0x100627b2
or byte [ebx + 6], 0x10
mov dword [esp + 0x2c], 1
cmp dword [esp + 0x2c], 4
mov esi, dword [esp + 0x24]
jbe 0x100630b9
cmp edi, 0xf42400
je 0x100634da
mov edx, dword [esp + 0x28]
xor eax, eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x30], eax
cmp byte [esp + 0x1e], 1
jne 0x1006282a
cmp edx, 0x57
jne 0x1006282a
cmp dword [esp + 0x2c], 2
jne 0x1006282a
lea eax, [esp + 0xd8]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10062800
sub eax, esi
cmp byte [esp + eax + 0xd3], 0x68
je 0x1006282a
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + eax + 0x6c]
mov al, byte [ecx + 0x100bb5c0]
test al, al
je 0x10063547
mov esi, dword [esp + 0x68]
cmp si, 1
jne 0x100628ad
cmp edx, 0x35
je 0x10062864
cmp edx, 0x24
je 0x10062864
cmp edx, 0x2b
je 0x10062864
cmp edx, 0x40
je 0x10062864
cmp edx, 0x46
je 0x10062864
cmp edx, 0x4d
je 0x10062864
cmp edx, 0x55
je 0x10062864
cmp edx, 0x57
jne 0x10063547
cmp dword [esp + 0x2c], 3
jae 0x100628ad
cmp edx, 0x55
je 0x100628ad
cmp edx, 0x35
je 0x100628ad
cmp edx, 0x40
jne 0x10063547
mov cl, byte [ebx + 2]
test cl, cl
je 0x10063547
cmp cl, 2
jne 0x100628a7
mov eax, dword [esp + 0x10]
mov al, byte [esp + eax + 0x1d6]
cmp al, 0x6d
je 0x100628ad
cmp al, 0x63
je 0x100628ad
cmp al, 0x74
je 0x100628ad
cmp cl, cl
jbe 0x10063547
cmp word [esp + 0x64], 0x2c
jne 0x100628c3
cmp edx, 0x24
je 0x100628c3
cmp edx, 0x2b
jne 0x10063547
cmp si, 1
jne 0x100628ea
mov eax, dword [esp + 0x2c]
cmp eax, 2
jbe 0x1006290d
cmp edx, 0x57
je 0x1006290d
cmp edx, 0x35
je 0x1006290d
cmp edx, 0x46
jne 0x10063547
cmp eax, 3
jmp 0x10062907
cmp si, 2
jne 0x1006290d
cmp edx, 0x56
je 0x1006290d
cmp edx, 0x55
je 0x1006290d
cmp edx, 0x51
je 0x1006290d
cmp edx, 0x3f
je 0x1006290d
cmp edx, 0x47
jne 0x10063547
mov cl, byte [ebx + 0x10]
and cl, 0xe0
cmp cl, 0x80
jne 0x10062923
mov esi, 5
mov dword [esp + 0x30], esi
jmp 0x10062927
mov esi, dword [esp + 0x30]
mov al, byte [esi + ebx + 0x10]
mov dl, al
and dl, 0xe0
cmp dl, 0xc0
jne 0x10062946
and al, 1
dec al
neg al
sbb eax, eax
inc eax
lea esi, [esi + eax*2 + 5]
mov dword [esp + 0x30], esi
lea eax, [esi + ebx + 0x10]
mov dword [esp + 0x6c], eax
mov al, byte [eax]
and al, 0xe0
cmp al, 0x20
jne 0x1006309b
cmp esi, dword [ebx + 0xc]
jae 0x1006309b
mov ecx, dword [esp + 0x30]
mov cl, byte [ecx + ebx + 0x11]
test cl, 0x40
jne 0x1006297d
mov dword [esp + 0x60], 1
jmp 0x10062b9a
mov al, byte [esp + 0x17]
cmp al, 1
jne 0x10062990
cmp dword [esp + 0x2c], 3
jbe 0x10063547
mov dl, cl
and dl, 0x38
cmp dl, 0x20
jne 0x100629e9
mov ecx, dword [esp + 0x20]
mov cl, byte [ecx]
cmp cl, 0x61
je 0x100629b4
cmp cl, 0x65
je 0x100629b4
cmp cl, 0x69
je 0x100629b4
cmp cl, 0x6f
jne 0x100629e9
cmp dword [esp + 0x2c], 4
jne 0x100629e9
test al, al
jne 0x10062b9a
cmp dword [esp + 0x24], 2
je 0x10063547
mov eax, dword [esp + 0x28]
cmp eax, 0x51
je 0x10063547
cmp eax, 0x3f
je 0x10063547
jmp 0x10062b9a
cmp al, 1
jne 0x10062a1c
cmp dword [esp + 0x2c], 4
jne 0x10062a1c
test dl, dl
je 0x10063547
mov eax, dword [esp + 0x28]
cmp eax, 0x58
ja 0x10063547
cmp eax, 0x55
jae 0x10062a1c
cmp eax, 0x51
je 0x10062a1c
cmp eax, 0x3f
jne 0x10063547
mov cl, byte [esp + 0x1f]
cmp cl, 1
jne 0x10062a42
test dl, dl
jne 0x10062a42
mov esi, dword [esp + 0x24]
cmp esi, 2
je 0x10063547
cmp byte [esp + 0x3f], cl
je 0x10063547
jmp 0x10062a46
mov esi, dword [esp + 0x24]
test dl, dl
je 0x10062b6e
mov eax, dword [esp + 0x20]
mov al, byte [eax]
cmp al, 0x65
je 0x10062a5c
cmp al, 0x69
jne 0x10062a8e
test cl, cl
jne 0x10062a8e
mov ecx, dword [esp + 0x10]
sub ecx, esi
mov al, byte [esp + ecx + 0x70]
cmp al, 0x69
lea ecx, [esp + ecx + 0x70]
jne 0x10062a8e
cmp dword [esp + 0x2c], 3
jae 0x10062a8e
mov cl, byte [ecx - 1]
cmp cl, 0x63
je 0x10063547
cmp cl, 0x67
je 0x10063547
test dl, dl
je 0x10062b6e
mov ecx, dword [esp + 0x20]
mov al, byte [ecx]
cmp al, 0x65
je 0x10062aa4
cmp al, 0x69
jne 0x10062acf
mov al, byte [esp + 0x1f]
test al, al
jne 0x10062acf
cmp dword [esp + 0x2c], 3
jae 0x10062acf
mov eax, dword [esp + 0x10]
sub eax, esi
mov cl, byte [esp + eax + 0x70]
cmp cl, 0x63
je 0x100630b5
cmp cl, 0x67
je 0x100630b5
test dl, dl
je 0x10062b6e
cmp byte [esp + 0x1f], 1
jne 0x10062b0e
mov ecx, dword [esp + 0x20]
cmp byte [ecx], 0x65
jne 0x10062b0e
mov ecx, dword [esp + 0x10]
sub ecx, esi
mov al, byte [esp + ecx + 0x70]
cmp al, 0x69
lea ecx, [esp + ecx + 0x70]
jne 0x10062b0e
mov cl, byte [ecx - 1]
cmp cl, 0x63
je 0x10063547
cmp cl, 0x67
je 0x10063547
test dl, dl
je 0x10062b6e
cmp byte [esp + 0x1f], 1
jne 0x10062b43
mov eax, dword [esp + 0x20]
mov al, byte [eax]
cmp al, 0x6f
je 0x10062b27
cmp al, 0x61
jne 0x10062b43
mov ecx, dword [esp + 0x10]
sub ecx, esi
mov cl, byte [esp + ecx + 0x70]
cmp cl, 0x63
je 0x10063547
cmp cl, 0x67
je 0x10063547
test dl, dl
je 0x10062b6e
mov edx, dword [esp + 0x20]
mov cl, byte [edx]
cmp cl, 0x7e
je 0x10062b5c
cmp cl, 0x6f
je 0x10062b5c
cmp cl, 0x61
jne 0x10062b6e
cmp dword [esp + 0x2c], 3
jae 0x10062b6e
cmp byte [esp + 0x1e], 1
je 0x10063547
cmp byte [esp + 0x1f], 1
jne 0x10062b9a
cmp esi, 2
jne 0x10062b9a
mov ecx, dword [esp + 0x10]
mov al, byte [esp + ecx + 0x6e]
lea ecx, [esp + ecx + 0x70]
mov cl, byte [ecx - 1]
cmp cl, al
je 0x10062b9a
cmp cl, 0x69
je 0x10062b9a
cmp al, 0x69
jne 0x10063547
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x10062bbc
mov eax, dword [ebx + 0xc]
sub eax, ecx
push eax
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x70]
push eax
lea eax, [ebx + 0x10]
push eax
call fcn.10040980
add esp, 0xc
mov cl, byte [ebx + 0x11]
and cl, 0x38
cmp cl, 0x20
jne 0x10062c28
mov al, byte [esp + 0x1f]
test al, al
jne 0x10062c28
mov edx, dword [esp + 0x20]
cmp byte [edx], 0x69
jne 0x10062c28
mov eax, dword [esp + 0x38]
cmp byte [esp + eax + 0x6f], 0x68
je 0x10062c28
cmp dword [esp + 0x28], 0x35
je 0x10062c28
lea eax, [esp + 0xd8]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10062bf4
sub eax, esi
mov ecx, 3
lea edi, [esp + eax + 0xd5]
mov esi, 0x100a64f4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10062c28
cmp dword [esp + 0x2c], 4
jae 0x10063547
mov edi, dword [esp + 0x18]
jmp 0x100630b1
test byte [ebx + 0x13], 5
jne 0x10062c56
cmp dword [esp + 0x2c], 3
jne 0x10062c56
mov edx, dword [esp + 0x28]
cmp edx, 0x34
je 0x10063547
cmp edx, 0x33
je 0x10063547
cmp edx, 0xb
je 0x10063547
jmp 0x10062c5a
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
mov eax, edi
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10062c63
sub eax, esi
cmp byte [eax + edi + 1], 0x31
je 0x10062c77
or byte [ebx + 1], 1
mov cl, byte [eax + edi + 3]
cmp cl, 0x69
jne 0x10062d49
cmp byte [eax + edi + 4], 0x70
jne 0x10062ce7
cmp byte [esp + 0x53], 1
jne 0x10062d9e
lea ecx, [esp + 0xd8]
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x10062ca0
sub ecx, esi
cmp byte [esp + ecx + 0xd5], 0x65
je 0x10062cd7
lea ecx, [esp + 0xd8]
lea esi, [ecx + 1]
lea ecx, [ecx]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x10062cc0
sub ecx, esi
cmp byte [esp + ecx + 0xd5], 0x69
jne 0x10062d9e
mov cl, byte [ebx + 1]
or cl, 0x60
mov byte [esp + 0x34], 0x43
jmp 0x10062de0
cmp cl, 0x69
jne 0x10062d49
cmp byte [eax + edi + 4], 0x66
jne 0x10062d08
mov cl, byte [ebx + 1]
or cl, 0xe0
mov byte [esp + 0x34], 0x49
mov byte [esp + 0x1d], 6
jmp 0x10062de5
cmp cl, 0x69
jne 0x10062d49
cmp byte [eax + edi + 4], cl
jne 0x10062d28
mov cl, byte [ebx + 1]
or cl, 0xc0
mov byte [esp + 0x34], 0x49
mov byte [esp + 0x1d], 4
jmp 0x10062de5
cmp cl, 0x69
jne 0x10062d49
cmp byte [eax + edi + 4], 0x72
jne 0x10062d49
mov cl, byte [ebx + 1]
or cl, 0xa0
mov byte [esp + 0x34], 0x49
mov byte [esp + 0x1d], 2
jmp 0x10062de5
cmp cl, 0x63
jne 0x10062d65
cmp byte [eax + edi + 4], 0x72
jne 0x10062d65
mov cl, byte [ebx + 1]
or cl, 0xf0
mov byte [esp + 0x34], 0x4e
jmp 0x10062de0
cmp cl, 0x67
jne 0x10062d7e
cmp byte [eax + edi + 4], 0x65
jne 0x10062d7e
mov cl, byte [ebx + 1]
or cl, 0x40
mov byte [esp + 0x34], 0x47
jmp 0x10062de0
cmp cl, 0x63
jne 0x10062dc9
cmp byte [eax + edi + 4], 0x70
jne 0x10062dab
cmp byte [esp + 0x1f], 1
jne 0x10062cd7
cmp edx, 0x36
jne 0x10062cd7
mov cl, byte [ebx + 1]
or cl, 0x80
mov byte [esp + 0x34], 0x49
jmp 0x10062de0
cmp cl, 0x63
jne 0x10062dc9
cmp byte [eax + edi + 4], 0x69
jne 0x10062dc9
mov cl, byte [ebx + 1]
or cl, 0x50
mov byte [esp + 0x34], 0x43
mov byte [esp + 0x1d], 4
jmp 0x10062de5
cmp cl, 0x69
jne 0x10062de8
cmp byte [eax + edi + 4], 0x6d
jne 0x10062de8
mov cl, byte [ebx + 1]
or cl, 0x70
mov byte [esp + 0x34], 0x4d
mov byte [esp + 0x1d], 0
mov byte [ebx + 1], cl
movzx eax, byte [eax + edi + 5]
add eax, 0xffffffcf
cmp eax, 7
ja case.default.0x10062df5
jmp dword [eax*4 + 0x10064950]
or byte [ebx + 1], 0xe
mov byte [esp + 0x44], 1
jmp case.default.0x10062df5
or byte [ebx + 1], 0xc
mov byte [esp + 0x44], 2
jmp case.default.0x10062df5
or byte [ebx + 1], 0xa
mov byte [esp + 0x44], 3
jmp case.default.0x10062df5
or byte [ebx + 1], 8
mov byte [esp + 0x44], 4
jmp case.default.0x10062df5
or byte [ebx + 1], 6
mov byte [esp + 0x44], 5
jmp case.default.0x10062df5
or byte [ebx + 1], 4
mov byte [esp + 0x44], 6
jmp case.default.0x10062df5
or byte [ebx + 1], 2
mov byte [esp + 0x44], 7
jmp case.default.0x10062df5
mov byte [esp + 0x44], 8
cmp dword [esp + 0x24], 2
jne 0x10062ed9
cmp byte [edi], 0x61
jne 0x10062ed9
lea eax, [esp + 0xd8]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10062e70
sub eax, edx
lea edi, [esp + eax + 0xd5]
mov ecx, 3
mov esi, 0x100a64f4
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x10062ec0
lea eax, [esp + 0xd8]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10062ea0
sub eax, edx
mov ecx, 3
lea edi, [esp + eax + 0xd5]
mov esi, 0x100a64f8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10062ed9
mov al, byte [ebx + 1]
and al, 1
or al, 0x62
mov byte [esp + 0x34], 0x43
mov byte [esp + 0x1d], 0
mov byte [ebx + 1], al
mov byte [esp + 0x44], 7
lea ecx, [esp + 0xd8]
push ecx
lea eax, [ebx + 0x110]
push 0xffffffffffffffff
push eax
call fcn.100839e0
mov eax, dword [esp + 0x6c]
mov esi, 1
add esp, 0xc
cmp eax, esi
je 0x10062f15
cmp byte [esp + 0x1e], 1
jne 0x100646a6
cmp dword [esp + 0x2c], 4
jne 0x100646a6
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x30], ecx
mov edx, ecx
shr ecx, 2
lea esi, [ebx + 0x10]
lea edi, [esp + 0x6a0]
rep movsd dword es:[edi], dword [esi]
lea eax, [ebx + 0x110]
push eax
mov ecx, edx
lea eax, [esp + 0x7a4]
and ecx, 3
push 0xffffffffffffffff
push eax
rep movsb byte es:[edi], byte [esi]
call fcn.100839e0
mov al, byte [esp + 0x29]
mov byte [esp + 0x54], al
movzx eax, al
add esp, 0xc
cmp eax, 7
ja case.default.0x10062f5d
jmp dword [eax*4 + 0x10064970]
mov byte [esp + 0x48], 0
jmp case.default.0x10062f5d
mov byte [esp + 0x48], 5
jmp case.default.0x10062f5d
mov byte [esp + 0x48], 2
jmp case.default.0x10062f5d
mov byte [esp + 0x48], 7
jmp case.default.0x10062f5d
mov byte [esp + 0x48], 1
jmp case.default.0x10062f5d
mov byte [esp + 0x48], 6
jmp case.default.0x10062f5d
mov byte [esp + 0x48], 3
jmp case.default.0x10062f5d
mov byte [esp + 0x48], 8
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x34]
push 0
push ecx
push edx
push eax
call fcn.1005bc30
add esp, 4
lea ecx, [esp + 0xe4]
lea edx, [esp + 0x7ac]
push eax
push 0xffffffffffffffff
push ecx
push edx
call fcn.10082100
mov al, byte [esp + 0xd8]
test al, al
je 0x10062ff5
push 0x100aa158
push 0x100aa150
lea eax, [esp + 0xe0]
push eax
push pe_nt_image_headers32
mov ecx, eax
push ecx
call fcn.10057f90
lea eax, [esp + 0xd8]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10063000
mov ecx, dword [esp + 0x10]
sub eax, edx
movsx eax, ax
cmp ecx, eax
jne 0x1006302b
mov ecx, eax
lea edi, [esp + 0x70]
lea esi, [esp + 0xd8]
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10064682
lea esi, [esp + eax + 0xd9]
cmp byte [esi], 0
je 0x10063049
mov ecx, dword [esp + 0x10]
lea edi, [esp + 0x70]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x10064682
mov eax, dword [esp + 0x28]
cmp eax, 0x45
je 0x1006306a
cmp eax, 0x55
je 0x1006306a
cmp eax, 0x2d
je 0x1006306a
cmp eax, 0x17
je 0x1006306a
cmp eax, 6
jne 0x1006350f
mov cl, byte [esp + 0x1f]
test cl, cl
jne 0x1006350f
cmp dword [esp + 0x2c], 1
jne 0x1006350f
mov esi, dword [esp + 0x24]
mov dword [esp + 0x18], 0xf42400
mov edi, dword [esp + 0x18]
mov dword [esp + 0x2c], 2
jmp 0x100630b9
cmp dword [esp + 0x2c], 4
jae 0x10063547
cmp byte [esp + 0x34], 0x33
jbe 0x10063547
mov esi, dword [esp + 0x24]
inc dword [esp + 0x2c]
lea ecx, [esp + 0x238]
push ecx
lea edx, [esp + 0xdc]
push 0xffffffffffffffff
push edx
call fcn.100839e0
mov eax, dword [esp + 0x38]
add esp, 0xc
cmp eax, 1
jne 0x1006318d
mov al, byte [esp + 0x34]
cmp al, 0x31
je 0x100630f4
cmp al, 0x34
je 0x100630f4
cmp al, 0x36
jne 0x100634c5
mov eax, dword [0x100b2078]
push eax
lea ecx, [esp + 0xdc]
push 0xffffffffffffffff
push ecx
call fcn.10083990
add esp, 0xc
cmp esi, 2
jne 0x100634ac
cmp byte [esp + 0x17], 1
jne 0x100634ac
lea eax, [esp + 0xd8]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10063130
sub eax, edx
lea eax, [esp + eax + 0xd8]
lea esi, [eax - 3]
push 4
push esi
push eax
call fcn.10040980
mov dx, word [0x100aa424]
mov al, byte [0x100aa426]
push 0xffffffffffffffff
lea ecx, [esp + 0xe8]
push ecx
mov word [esi], dx
push ebx
mov byte [esi + 2], al
call fcn.10040980
add esp, 0x18
mov edi, eax
cmp edi, 0xf42400
mov dword [esp + 0x18], edi
je 0x100634d1
mov byte [esp + 0x17], 0
jmp 0x100634c5
mov eax, dword [esp + 0x2c]
cmp eax, 2
jne 0x10063373
mov eax, dword [esp + 0x20]
mov cl, byte [eax]
cmp cl, 0x69
je 0x100631bc
mov edx, dword [esp + 0x38]
mov al, byte [esp + edx + 0xd7]
cmp al, 0x67
je 0x100631bc
cmp al, 0x63
jne 0x100634c5
mov al, byte [esp + 0x34]
cmp al, 0x31
je 0x100631d0
cmp al, 0x34
je 0x100631d0
cmp al, 0x36
jne 0x100634c5
cmp cl, 0x69
je 0x100631da
mov byte [esp + 0x3f], 1
push str.iare
lea eax, [esp + 0xdc]
push 0xffffffffffffffff
push eax
call fcn.10083990
add esp, 0xc
cmp esi, 2
jne 0x10063274
cmp byte [esp + 0x17], 1
jne 0x10063274
lea eax, [esp + 0xd8]
lea edx, [eax + 1]
jmp 0x10063210
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10063210
sub eax, edx
mov edi, eax
push 4
lea esi, [esp + edi + 0xd8]
lea ecx, [esp + edi + 0xdb]
push esi
push ecx
call fcn.10040980
mov dx, word [0x100aa424]
mov al, byte [0x100aa426]
push 0xffffffffffffffff
lea ecx, [esp + 0xe8]
push ecx
mov word [esi], dx
push ebx
mov byte [esi + 2], al
mov byte [esp + edi + 0xf3], 0
call fcn.10040980
mov edi, eax
add esp, 0x18
cmp edi, 0xf42400
mov dword [esp + 0x18], edi
je 0x1006329e
mov byte [esp + 0x17], 0
jmp 0x10063292
push 0xffffffffffffffff
lea edx, [esp + 0xdc]
push edx
push ebx
mov byte [esp + 0x2b], 1
call fcn.10040980
mov edi, eax
add esp, 0xc
mov dword [esp + 0x18], edi
cmp edi, 0xf42400
jne 0x100627d5
mov eax, dword [esp + 0x28]
cmp eax, 0x57
je 0x100632b6
cmp eax, 0x35
je 0x100632b6
cmp eax, 0x4a
je 0x100632b6
cmp eax, 0x36
jne 0x100632ed
cmp byte [esp + 0x1e], 1
jne 0x100632ed
lea eax, [esp + 0xd8]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100632c7
sub eax, edx
add eax, 0xfffffffc
push eax
push 0x68
push 0xffffffffffffffff
lea eax, [esp + 0xe4]
push eax
mov ecx, eax
push ecx
call fcn.10057ec0
jmp 0x100634ac
cmp edi, 0xf42400
jne 0x100627d5
cmp dword [esp + 0x24], 2
jne 0x100634d1
cmp byte [esp + 0x17], 1
jne 0x100634d1
push 0x100aa424
lea eax, [esp + 0x5a4]
push 0xffffffffffffffff
push eax
call fcn.100839e0
lea eax, [esp + 0xe4]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10063330
sub eax, edx
add eax, 0xfffffffc
push eax
push 0xffffffffffffffff
lea ecx, [esp + 0x5a8]
push ecx
push 0xffffffffffffffff
lea edx, [esp + 0xe8]
push edx
push 0xffffffffffffffff
mov eax, edx
push eax
call fcn.10058090
push 0xffffffffffffffff
lea ecx, [esp + 0xdc]
push ecx
push ebx
call fcn.10040980
add esp, 0xc
jmp 0x10063171
cmp eax, 3
jne 0x1006340b
mov al, byte [esp + 0x17]
test al, al
jne 0x100634c5
mov al, byte [esp + 0x34]
cmp al, 0x31
je 0x100634c5
cmp al, 0x33
je 0x100634c5
mov al, byte [esp + 0x1e]
test al, al
jne 0x100634c5
mov edx, dword [esp + 0x20]
cmp byte [edx], 0x69
mov byte [esp + 0x1f], 0
jne 0x100633de
mov eax, dword [esp + 0x38]
cmp byte [esp + eax + 0xd7], 0x6c
jne 0x100633de
cmp byte [esp + eax + 0xd6], 0x67
jne 0x100633de
mov byte [esp + eax + 0xd8], 0x69
mov byte [esp + eax + 0xd9], 0
mov eax, dword [0x100b2074]
push eax
lea ecx, [esp + 0xdc]
push 0xffffffffffffffff
push ecx
call fcn.10083990
push 0xffffffffffffffff
lea edx, [esp + 0xe8]
push edx
push ebx
call fcn.10040980
add esp, 0x18
jmp 0x100634bf
cmp eax, 4
jne 0x100634c5
mov al, byte [esp + 0x34]
cmp al, 0x31
je 0x100634c5
cmp al, 0x32
je 0x100634c5
cmp al, 0x34
je 0x100634c5
mov cl, byte [esp + 0x1e]
test cl, cl
je 0x1006345d
mov eax, dword [esp + 0x20]
mov al, byte [eax]
cmp al, 0x69
je 0x1006344a
cmp al, 0x65
jne 0x100634c5
mov edx, dword [esp + 0x38]
mov al, byte [esp + edx + 0xd6]
cmp al, 0x63
je 0x1006345d
cmp al, 0x67
jne 0x100634c5
test cl, cl
mov byte [esp + 0x1f], 0
jne 0x10063480
mov eax, dword [0x100b2070]
push eax
lea ecx, [esp + 0xdc]
push 0xffffffffffffffff
push ecx
call fcn.10083990
add esp, 0xc
jmp 0x100634ac
push 0x100aa418
lea edx, [esp + 0xdc]
push 0xffffffffffffffff
push edx
call fcn.10083990
mov eax, dword [0x100b2070]
push eax
lea ecx, [esp + 0xe8]
push 0xffffffffffffffff
push ecx
call fcn.10083990
add esp, 0x18
lea edx, [esp + 0xd8]
push 0xffffffffffffffff
push edx
push ebx
call fcn.10040980
add esp, 0xc
mov edi, eax
mov dword [esp + 0x18], edi
cmp edi, 0xf42400
jne 0x100627d5
inc dword [esp + 0x2c]
jmp 0x100627ba
mov esi, dword [esp + 0x20]
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100634e3
sub eax, edx
cmp eax, 2
jbe 0x10063547
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100634f6
sub eax, edx
lea eax, [esi + eax + 1]
push eax
push ebx
call fcn.10059d50
add esp, 8
jmp 0x10063547
test byte [esp + 0x6a3], 4
je 0x1006353f
cmp dword [esp + 0x2c], 3
jne 0x1006353f
cmp eax, 0x34
je 0x10064682
mov eax, dword [esp + 0x28]
cmp eax, 0x33
je 0x10064682
cmp eax, 0xb
je 0x10064682
mov dword [esp + 0x18], 0xf42400
cmp word [esp + 0x54], 0
jne 0x1006356c
mov eax, dword [esp + 0x24]
cmp eax, 2
ja 0x1006358a
cmp eax, 3
jne 0x1006356c
mov ecx, dword [esp + 0x20]
mov al, byte [ecx + 1]
cmp byte [ecx], al
jne 0x1006356c
cmp al, 0x69
je 0x1006358a
cmp word [esp + 0x68], 1
jne 0x1006245a
mov eax, dword [esp + 0x28]
cmp eax, 0x34
je 0x1006358a
cmp eax, 0x4f
jne 0x1006245a
dec dword [esp + 0x24]
mov byte [esp + 0x1f], 0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
lea eax, [ecx + edx + 2]
movzx ecx, byte [eax]
add eax, ecx
lea ecx, [eax + ecx*4 - 0xed]
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], eax
jmp 0x10062351
cmp word [esp + 0x54], 0
jle 0x1006361e
lea eax, [esp + 0x1d8]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100635d0
sub eax, edx
mov dl, byte [esp + eax + 0x1d6]
xor ecx, ecx
cmp dl, 0x6c
setne cl
push 0xffffffffffffffff
lea edx, [esp + 0x2a4]
push edx
add ecx, 3
mov eax, ecx
push eax
push 0xffffffffffffffff
lea eax, [esi + ebx + 0x10]
push eax
push 0
push ebx
call fcn.1005ea90
add esp, 0x1c
cmp ax, 1
jne 0x10063616
mov word [ebx + 4], ax
jmp 0x1006361e
mov dword [esp + 0x18], 0xf42400
mov al, byte [esp + 0x38]
lea edi, [ebx + 0x10]
mov ecx, 0x14
lea esi, [esp + 0x238]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x30]
inc al
mov dword [ebx + 0xc], ecx
mov byte [ebx], al
jmp 0x10064800
cmp word [esp + 0x54], 0
mov byte [ebx + 3], 0
mov byte [esp + 0x17], 0
jle 0x10063675
lea eax, [esp + 0x4a0]
push eax
lea ecx, [esp + 0x74]
push 0xffffffffffffffff
push ecx
call fcn.100839e0
mov eax, dword [esp + 0x64]
add esp, 0xc
mov dword [esp + 0x10], eax
jmp 0x10063679
mov eax, dword [esp + 0x10]
cmp eax, 8
jbe 0x10063819
mov cl, byte [esp + eax + 0x6b]
cmp cl, 0x6d
lea eax, [esp + eax + 0x6b]
jne 0x10063819
push 5
push 0x100a79c0
push eax
call fcn.10040980
add esp, 0xc
test eax, eax
jne 0x10063819
mov eax, dword [esp + 0x10]
lea ecx, [eax - 5]
mov dword [esp + 0x6c], ecx
mov edx, ecx
shr ecx, 2
lea esi, [esp + 0x70]
lea edi, [esp + 0xd8]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov cl, byte [esp + eax + 0x6a]
cmp cl, 0x6c
je 0x100636dd
cmp cl, 0x72
jne 0x100636ff
movzx edx, byte [esp + eax + 0x69]
cmp byte [edx + 0x100bb5c0], 0
je 0x100636ff
lea eax, [esp + eax + 0xd8]
mov byte [eax - 5], 0x65
mov byte [eax - 4], 0
jmp 0x1006377f
cmp cl, 0x61
jne 0x10063711
lea eax, [esp + eax + 0xd8]
mov byte [eax - 6], 0x6f
jmp 0x1006377b
cmp cl, 0x65
jne 0x10063819
mov dl, byte [esp + eax + 0x69]
cmp dl, 0x6c
je 0x10063728
cmp dl, 0x72
jne 0x10063774
cmp cl, 0x65
jne 0x10063819
mov dl, byte [esp + eax + 0x69]
cmp dl, 0x6c
je 0x1006373f
cmp dl, 0x72
jne 0x10063745
cmp dl, byte [esp + eax + 0x68]
je 0x10063774
cmp cl, 0x65
jne 0x10063819
mov eax, dword [esp + 0x10]
cmp byte [esp + eax + 0x69], 0x72
jne 0x10063819
mov ecx, eax
movzx edx, byte [esp + ecx + 0x68]
mov al, byte [edx + 0x100bb5c0]
test al, al
jne 0x10063819
mov eax, ecx
lea eax, [esp + eax + 0xd8]
mov byte [eax - 5], 0
mov ecx, dword [ebx + 0x320]
test ecx, ecx
jne 0x10063f58
mov ecx, dword [esp + 0x10]
cmp ecx, 0xd
jbe 0x10063f58
cmp byte [esp + ecx + 0x69], 0x6d
jne 0x10063f58
mov edx, ecx
cmp byte [esp + edx + 0x66], 0x73
jne 0x10063f58
mov esi, edx
mov ecx, 3
mov edi, str.issima
lea esi, [esp + esi + 0x65]
xor edx, edx
repe cmpsw word [esi], word es:[edi]
jne 0x10063f58
mov ecx, dword [esp + 0x6c]
mov byte [eax - 6], 0x6f
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x70]
push edx
mov dword [esp + 0x30], eax
lea eax, [esp + 0x4a4]
push 0xffffffffffffffff
push eax
mov byte [esp + 0x23], 1
mov dword [esp + 0x1c], ecx
call fcn.100839e0
lea ecx, [esp + 0xe4]
push ecx
lea edx, [esp + 0x80]
push 0xffffffffffffffff
push edx
call fcn.100839e0
add esp, 0x18
jmp 0x100639a0
cmp byte [esp + 0x17], 1
jne 0x10063844
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0x4a0]
push ecx
lea edx, [esp + 0x74]
push 0xffffffffffffffff
push edx
mov dword [esp + 0x1c], eax
call fcn.100839e0
add esp, 0xc
mov byte [esp + 0x17], 0
mov eax, dword [esp + 0x10]
cmp eax, 7
jbe 0x100639a0
mov cl, byte [esp + eax + 0x6c]
cmp cl, 0x62
lea eax, [esp + eax + 0x70]
jne 0x100639a0
cmp byte [eax - 3], 0x69
jne 0x100639a0
cmp byte [eax - 2], 0x6c
jne 0x100639a0
mov dl, byte [eax - 5]
cmp dl, 0x69
je 0x10063887
cmp dl, 0x61
jne 0x100639a0
mov al, byte [eax - 1]
cmp al, 0x69
je 0x10063896
cmp al, 0x65
jne 0x100639a0
mov ecx, dword [esp + 0x10]
add ecx, 0xfffffffb
mov eax, ecx
shr ecx, 2
lea esi, [esp + 0x70]
lea edi, [esp + 0xd8]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x10]
lea esi, [esp + esi + 0xd3]
xor edi, edi
cmp dl, 0x61
mov byte [esi], 0
jne 0x100638e3
mov ecx, dword [0x100b2078]
push ecx
lea edx, [esp + 0xdc]
push 0xffffffffffffffff
push edx
call fcn.10083990
jmp 0x100638fd
mov eax, dword [0x100b2074]
push eax
lea ecx, [esp + 0xdc]
push 0xffffffffffffffff
push ecx
call fcn.10083990
mov edi, 1
add esp, 0xc
push 0xffffffffffffffff
lea edx, [esp + 0xdc]
push edx
push ebx
mov word [ebx + 6], 0x80
call fcn.10040980
add esp, 0xc
cmp eax, 0xf42400
mov dword [esp + 0x18], eax
jne 0x1006394a
cmp edi, 1
jne 0x10063943
push 0xffffffffffffffff
lea eax, [esp + 0xdc]
push eax
push ebx
mov byte [esi], 0x69
call fcn.10040980
add esp, 0xc
mov dword [esp + 0x18], eax
cmp eax, 0xf42400
je 0x100639a0
mov cl, byte [ebx + 0x10]
and cl, 0xe0
xor esi, esi
cmp cl, 0x80
jne 0x1006395c
mov esi, 5
mov al, byte [esi + ebx + 0x10]
mov dl, al
and dl, 0xe0
cmp dl, 0xc0
jne 0x10063977
and al, 1
dec al
neg al
sbb eax, eax
inc eax
lea esi, [esi + eax*2 + 5]
mov al, byte [esi + ebx + 0x10]
and al, 0xe0
cmp al, 0x20
jne 0x100639a0
mov al, byte [esi + ebx + 0x13]
mov cl, al
and cl, 0xc0
cmp cl, 0x40
je 0x100639a0
and al, 0x38
cmp al, 0x28
je 0x100639a0
test byte [esi + ebx + 0x12], 0xf
je 0x10064073
cmp dword [esp + 0x10], 4
mov byte [esp + 0x1e], 0
jbe 0x100640e8
cmp dword [ebx + 0x320], 1
mov edx, dword [0x100bb5b0]
mov dword [esp + 0x20], edx
jne 0x100639d9
add edx, 0x65
mov dword [esp + 0x20], edx
mov eax, 0x11
mov dword [esp + 0x58], 0x16
jmp 0x10063a00
cmp byte [esp + 0x17], 1
jne 0x100639f6
add edx, 0x71
mov dword [esp + 0x20], edx
mov eax, 0x13
mov dword [esp + 0x58], 0x14
jmp 0x10063a00
xor eax, eax
mov dword [esp + 0x58], 0x1c
mov dword [esp + 0x40], 0x64
mov dword [esp + 0x5c], 0x73
cmp eax, dword [esp + 0x58]
mov dword [esp + 0x28], eax
jae 0x100640e8
cmp eax, 0x12
jbe 0x10063a2b
mov dword [esp + 0x5c], 0x61
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10063a30
mov ecx, dword [esp + 0x10]
sub eax, esi
mov edi, eax
lea eax, [edi + 1]
cmp ecx, eax
mov dword [esp + 0x38], edi
jbe 0x10063a99
mov al, byte [edx]
mov esi, ecx
sub esi, edi
mov cl, byte [esp + esi + 0x70]
cmp cl, al
lea esi, [esp + esi + 0x70]
jne 0x10063a99
cmp byte [esi - 1], al
je 0x10063a99
mov ecx, dword [esp + 0x10]
mov al, byte [esp + ecx + 0x6f]
cmp al, 0x61
je 0x10063a79
cmp al, 0x65
je 0x10063a79
cmp al, 0x69
je 0x10063a79
cmp al, 0x6f
jne 0x10063a99
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x20]
dec ecx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x10063a8d
sbb eax, eax
sbb eax, 0xffffffff
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
test eax, eax
je 0x10063b01
cmp byte [edx + edi - 1], 0x6f
jne 0x10063ef7
cmp byte [edx + edi - 2], 0x69
jne 0x10063ef7
mov edx, dword [esp + 0x10]
cmp byte [esp + edx + 0x6f], 0x65
jne 0x10063ef7
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x20]
lea ecx, [eax - 2]
lea esi, [esp + 0x71]
sub esi, eax
mov eax, edx
add esi, eax
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x10063ae6
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
mov dword [esp + 0x40], eax
jne 0x10063ef7
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x20]
dec eax
mov dword [esp + 0x38], eax
mov edi, eax
cmp byte [edx + edi - 1], 0x6f
jne 0x10063b36
cmp byte [edx + edi - 2], 0x69
jne 0x10063b36
mov ecx, dword [esp + 0x10]
mov al, byte [esp + ecx + 0x6f]
cmp al, 0x65
lea ecx, [esp + ecx + 0x70]
je 0x10063b23
cmp al, 0x69
jne 0x10063b36
cmp byte [ecx - 2], 0x69
jne 0x10063b36
mov dword [esp + 0x40], 1
jmp 0x10063ef7
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x10063ef7
cmp word [esp + 0x5c], 0x61
mov dword [esp + 0x40], 0x64
jne 0x10063b58
or byte [ebx + 6], 0x80
jmp 0x10063b5c
or byte [ebx + 6], 0x40
mov al, byte [esp + 0x17]
test al, al
je 0x10063b6a
mov word [ebx + 6], 0x20
mov eax, dword [esp + 0x10]
mov cl, byte [esp + eax + 0x6f]
lea edx, [esp + 0x70]
push edx
lea eax, [esp + 0xdc]
push 0xffffffffffffffff
push eax
mov byte [esp + 0x50], cl
call fcn.100839e0
mov edx, dword [esp + 0x1c]
mov ecx, edx
sub ecx, edi
mov al, byte [esp + ecx + 0xe3]
lea esi, [esp + ecx + 0xe4]
add esp, 0xc
cmp al, 0x63
je 0x10063bab
cmp al, 0x67
jne 0x10063bc5
mov ecx, dword [esp + 0x20]
mov cl, byte [ecx]
cmp cl, 0x69
je 0x10063bbb
cmp cl, 0x65
jne 0x10063bc5
cmp byte [esi], 0x68
je 0x10063bc5
mov byte [esp + 0x1e], 1
mov cl, byte [esi - 2]
cmp cl, 0x63
je 0x10063bd2
cmp cl, 0x67
jne 0x10063bfd
cmp al, 0x68
jne 0x10063bfd
mov eax, dword [esp + 0x20]
mov al, byte [eax]
cmp al, 0x69
je 0x10063be4
cmp al, 0x65
jne 0x10063bfd
mov al, byte [esp + 0x44]
cmp al, 0x69
mov byte [esp + 0x1e], 2
je 0x10063c01
cmp al, 0x65
je 0x10063c01
mov byte [esi - 1], al
mov byte [esi], 0
jmp 0x10063c10
mov al, byte [esp + 0x44]
lea ecx, [esp + 0xd9]
sub ecx, edi
mov byte [esi], al
mov byte [ecx + edx], 0
push 0xffffffffffffffff
lea edx, [esp + 0xdc]
push edx
push ebx
call fcn.10040980
mov edi, eax
add esp, 0xc
cmp edi, 0xf42400
mov dword [esp + 0x18], edi
je 0x10063c40
mov al, byte [ebx + 0x10]
and al, 0xe0
cmp al, 0x80
jne 0x10063c57
test byte [ebx + 0x11], 0x10
je 0x10063c57
lea ecx, [esp + 0xd8]
push ecx
push ebx
call fcn.1005f570
mov edi, eax
add esp, 8
mov dword [esp + 0x18], edi
cmp word [esp + 0x5c], 0x61
jne 0x10063ce6
cmp edi, 0xf42400
je 0x10063c7a
mov dl, byte [ebx + 0x10]
and dl, 0xe0
cmp dl, 0x40
jne 0x10063ce6
lea eax, [esp + 0xd8]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10063c84
movzx ecx, byte [ebx + 0x320]
push ecx
sub eax, edx
lea edx, [esp + 0x1c]
push edx
push 0x100a6245
push 0x3e8
push eax
lea eax, [esp + 0xec]
push eax
push ebx
call fcn.1005ef70
add esp, 0x1c
cmp ax, 2
jne 0x10063cf2
mov edi, dword [esp + 0x18]
mov byte [ebx + 0x13], 1
mov dword [ebx + 0xc], 5
mov byte [ebx + 0x10], 0x8c
mov byte [ebx + 0x11], 7
mov byte [ebx + 0x12], 0
mov cl, byte [0x100ba770]
shl cl, 6
or cl, 1
mov byte [ebx + 0x13], cl
cmp edi, 0xf42400
jne 0x10063db4
push 0xffffffffffffffff
lea edx, [esp + 0xdc]
push edx
push ebx
mov byte [esi], 0x65
call fcn.10040980
mov edi, eax
mov al, byte [ebx + 0x10]
and al, 0xe0
add esp, 0xc
cmp al, 0xc0
mov dword [esp + 0x18], edi
je 0x10063d23
cmp edi, 0xf42400
jne 0x10063db4
push 0xffffffffffffffff
lea ecx, [esp + 0xdc]
push ecx
push ebx
mov byte [esi], 0x6f
call fcn.10040980
mov dl, byte [ebx + 0x10]
and dl, 0xe0
add esp, 0xc
cmp dl, 0xc0
mov edi, eax
mov dword [esp + 0x18], edi
je 0x10063d52
cmp edi, 0xf42400
jne 0x10063db4
mov eax, dword [esp + 0x20]
cmp byte [eax], 0x69
jne 0x10063eef
cmp byte [esp + 0x1e], 2
jne 0x10063d6a
mov byte [esi - 1], 0x68
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x10]
lea edx, [esp + 0xd9]
sub edx, ecx
mov byte [edx + eax], 0x6f
lea edx, [esp + 0xda]
sub edx, ecx
mov byte [edx + eax], 0
push 0xffffffffffffffff
lea eax, [esp + 0xdc]
push eax
push ebx
mov byte [esi], 0x69
call fcn.10040980
mov edi, eax
add esp, 0xc
cmp edi, 0xf42400
mov dword [esp + 0x18], edi
je 0x10063eef
mov dl, byte [ebx + 0x10]
mov al, dl
and al, 0xe0
cmp al, 0x80
jne 0x10063dfe
cmp dword [esp + 0x28], 0x13
jae 0x10063dd3
cmp dword [ebx + 0x320], 1
je 0x100640e8
cmp al, 0x80
jne 0x10063dfe
mov cl, dl
and cl, 0x1c
cmp cl, 0x10
je 0x10063dea
cmp cl, 0xc
jne 0x100640e8
cmp al, 0x80
jne 0x10063dfe
cmp dword [esp + 0x28], 0x13
jne 0x10063dfe
test dl, 1
jne 0x100640e8
cmp al, 0xc0
jne 0x10063e38
cmp dword [esp + 0x28], 0x11
jb 0x10063e16
cmp dword [ebx + 0x320], 1
je 0x100640e8
cmp al, 0xc0
jne 0x10063e38
mov cl, dl
and cl, 0xc
cmp cl, 8
je 0x100640e8
cmp dword [esp + 0x28], 0x13
jne 0x10063e38
test dl, 2
je 0x100640e8
mov dl, byte [esp + 0x1e]
test dl, dl
je 0x10063e8e
cmp al, 0x80
mov ecx, 1
jne 0x10063e4e
mov ecx, 2
mov cl, byte [ebx + ecx + 0x10]
and cl, 0xf
cmp cl, 8
jne 0x10063e77
cmp dword [ebx + 0xc], 5
je 0x100640e8
mov dl, byte [ebx + 0x15]
and dl, 0xe0
cmp dl, 0x40
jne 0x100640e8
mov dl, byte [esp + 0x1e]
cmp dl, 1
jne 0x10063e81
cmp cl, 5
jmp 0x10063e88
cmp dl, 2
jne 0x10063e8e
test cl, cl
je 0x100640e8
cmp al, 0x80
jne 0x10063ee0
movzx ecx, byte [esp + 0x44]
add ecx, 0xffffff9f
cmp ecx, 0xe
mov dword [ebx + 0xc], 5
ja case.0x10063ead.98
movzx ecx, byte [ecx + 0x100649a4]
jmp dword [ecx*4 + 0x10064990]
mov cl, 1
mov byte [ebx], 0
mov byte [esp + 0x44], cl
jmp 0x10063ee4
mov cl, 1
mov byte [ebx], 2
mov byte [esp + 0x44], cl
jmp 0x10063ee4
mov cl, 1
mov byte [ebx], 4
mov byte [esp + 0x44], cl
jmp 0x10063ee4
mov byte [ebx], 3
mov cl, 1
mov byte [esp + 0x44], cl
jmp 0x10063ee4
mov cl, byte [esp + 0x44]
cmp al, 0xc0
je 0x10063f13
cmp cl, 1
je 0x10063f37
jmp 0x10063ef7
mov dword [esp + 0x28], 0x28
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x38]
lea ecx, [edx + eax + 1]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x20], ecx
inc eax
mov edx, ecx
jmp 0x10063a10
mov edx, dword [esp + 0x10]
sub edx, dword [esp + 0x38]
cmp byte [esp + edx + 0xd8], 0x65
mov byte [ebx], 0
jne 0x10063f2b
mov byte [ebx], 0x80
cmp cl, 0x65
je 0x10063f35
cmp cl, 0x69
jne 0x10063f37
inc byte [ebx]
mov eax, dword [esp + 0x28]
cmp eax, 0x10
jbe 0x100645e2
cmp eax, 0x16
jae 0x100645e2
cmp byte [esp + 0x17], 1
jne 0x100640bc
push 0xffffffffffffffff
lea eax, [esp + 0xdc]
push eax
push ebx
xor esi, esi
xor edi, edi
mov word [ebx + 6], 0x20
call fcn.10040980
mov cl, byte [ebx + 0x10]
mov dl, cl
and dl, 0xe0
add esp, 0xc
cmp dl, 0xc0
mov dword [esp + 0x18], eax
jne 0x10063f94
and cl, 1
dec cl
neg cl
sbb ecx, ecx
inc ecx
lea esi, [ecx + ecx + 5]
cmp eax, 0xf42400
je 0x10063fb5
cmp dl, 0x40
je 0x10063fb5
cmp dword [ebx + 0xc], esi
jle 0x1006401c
mov cl, byte [esi + ebx + 0x10]
and cl, 0xe0
cmp cl, 0x40
jne 0x1006401c
lea eax, [esp + 0xd8]
mov dword [esp + 0x18], 0xf4240
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10063fc7
sub eax, edx
mov edx, dword [ebx + 0x320]
push edx
lea ecx, [esp + 0x1c]
push ecx
push 0x100a6245
push 0x3e8
push eax
lea edx, [esp + 0xec]
push edx
push ebx
call fcn.1005ef70
movzx edi, ax
mov eax, dword [esp + 0x2c]
mov cl, byte [esp + eax + 0x86]
add esp, 0x1c
cmp cl, 0x61
jne 0x10063819
cmp edi, 2
jne 0x10063819
mov eax, dword [esp + 0x18]
cmp eax, 0xf42400
je 0x10063819
mov al, byte [ebx + 0x10]
mov cl, al
and cl, 0xe0
cmp cl, 0x80
je 0x10064042
cmp edi, 2
jne 0x10063819
cmp cl, 0x80
jne 0x10064053
and al, 0x1c
cmp al, 0xc
jne 0x10063819
mov byte [0x100ba770], 0
add dword [esp + 0x18], 0x20000
mov dword [ebx + 0xc], 2
mov cl, byte [0x100ba770]
or cl, 0x78
mov byte [ebx + 0x10], cl
jmp 0x10064800
mov cl, byte [ebx + 0x11]
mov edx, dword [esp + 0x10]
mov al, byte [esp + edx + 0x6f]
shl cl, 6
cmp al, 0x69
mov byte [0x100ba770], cl
mov byte [ebx + 0x10], 0x90
mov byte [ebx + 0x11], 1
mov byte [ebx + 0x12], 0
mov byte [ebx + 0x13], 0
mov dword [ebx + 0xc], 5
jne 0x100640a5
mov byte [ebx], 1
mov al, byte [0x100ba770]
or al, 1
mov byte [ebx + 0x11], al
add dword [esp + 0x18], 0x30000
jmp 0x10064800
cmp edi, 0x10000
jbe 0x100640d7
add eax, 0xfffa
shl eax, 0x10
add edi, eax
mov dword [esp + 0x18], edi
jmp 0x10064800
add eax, 0xfffffff6
shl eax, 0x10
add edi, eax
mov dword [esp + 0x18], edi
jmp 0x10064800
cmp byte [esp + 0x17], 1
jne 0x10064110
mov edi, dword [esp + 0x2c]
lea edx, [esp + 0x4a0]
push edx
lea eax, [esp + 0x74]
push 0xffffffffffffffff
push eax
mov dword [esp + 0x1c], edi
call fcn.100839e0
add esp, 0xc
jmp 0x10064114
mov edi, dword [esp + 0x10]
mov eax, dword [ebx + 0x320]
test eax, eax
mov dword [esp + 0x18], 0xf42400
jne 0x100643ff
cmp edi, 4
jbe 0x100642cf
mov ecx, dword [0x100bb328]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x40], 0x64
mov dword [esp + 0x28], 0
lea ecx, [ecx]
mov eax, dword [esp + 0x20]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10064157
sub eax, edx
mov edi, eax
cmp edi, dword [esp + 0x10]
mov dword [esp + 0x38], edi
jae 0x10064189
mov ecx, edi
mov edi, dword [esp + 0x20]
lea esi, [esp + 0x70]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x10064181
sbb eax, eax
sbb eax, 0xffffffff
mov edi, dword [esp + 0x38]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x100642ad
mov edx, dword [esp + 0x20]
mov cl, byte [edx + edi - 1]
movzx eax, cl
mov al, byte [eax + 0x100bb5c0]
test al, al
je 0x100641ff
movzx edx, byte [esp + edi + 0x70]
cmp byte [edx + 0x100bb5c0], 0
jne 0x100641da
movzx edx, byte [esp + edi + 0x71]
cmp byte [edx + 0x100bb5c0], 0
je 0x100641da
cmp dword [esp + 0x28], 0xf
jne 0x100641da
mov dword [esp + 0x40], 1
jmp 0x100642ad
test al, al
je 0x100641ff
mov al, byte [esp + edi + 0x70]
movzx edx, al
cmp byte [edx + 0x100bb5c0], 0
je 0x100641ff
cmp cl, al
jne 0x100641ff
mov dword [esp + 0x40], 1
jmp 0x100642ad
cmp edi, 3
mov dword [esp + 0x40], 0x64
jb 0x10064210
or byte [ebx + 6], 0x40
push 0xffffffffffffffff
lea esi, [esp + edi + 0x74]
push esi
push ebx
call fcn.10040980
add esp, 0xc
cmp eax, 0xf42400
mov dword [esp + 0x18], eax
jne 0x1006434e
push esi
push ebx
call fcn.1005f570
add esp, 8
cmp eax, 0xf42400
mov dword [esp + 0x18], eax
jne 0x1006434e
push esi
lea eax, [esp + 0xdc]
push 0xffffffffffffffff
push eax
call fcn.100839e0
mov ecx, dword [esp + 0x1c]
push 0xffffffffffffffff
lea edx, [esp + 0xe8]
push edx
sub ecx, edi
push ebx
mov byte [esp + ecx + 0xef], 0x6f
call fcn.10040980
mov esi, eax
mov al, byte [ebx + 0x10]
and al, 0xe0
add esp, 0x18
cmp al, 0x40
jne 0x1006429d
mov cl, byte [ebx + 0x11]
mov dl, cl
and dl, 0xe0
cmp dl, 0x80
jne 0x1006429d
and cl, 0x18
cmp cl, 8
je 0x100643bc
mov dword [esp + 0x18], 0xf42400
mov dword [esp + 0x28], 0x16
mov eax, dword [esp + 0x20]
lea ecx, [eax + edi + 1]
mov eax, dword [esp + 0x28]
inc eax
cmp eax, 0x14
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], eax
jb 0x10064150
mov edi, dword [esp + 0x10]
mov eax, dword [ebx + 0x320]
test eax, eax
jne 0x100643ff
cmp edi, 7
jb 0x1006447c
push pe_nt_image_headers32
lea ecx, [esp + 0x74]
push ecx
lea edx, [esp + 0x5a8]
push 0xffffffffffffffff
push edx
call fcn.10083a50
push 1
push 6
lea eax, [esp + 0x5b8]
push 0xffffffffffffffff
push eax
call fcn.1005a990
add esp, 0x20
cmp ax, 1
jne 0x100643ff
mov dword [ebx + 0xc], 5
mov byte [ebx + 0x10], 0x9c
mov byte [ebx + 0x11], 8
mov byte [ebx + 0x12], 0
mov byte [ebx + 0x13], 8
mov eax, 0x989680
mov ecx, dword [esp + 0x8a4]
call fcn.1009d15f
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, 3
jb 0x100642a5
mov cl, byte [ebx + 0x10]
and cl, 0xe0
cmp cl, 0x80
jne 0x1006436b
mov dword [ebx + 0xc], 5
jmp 0x1006438c
cmp cl, 0xc0
jne 0x10064379
mov dword [ebx + 0xc], 5
jmp 0x1006438c
cmp cl, 0xe0
je 0x10064383
cmp cl, 0x20
jne 0x1006438c
mov eax, 0xf42400
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x28]
cmp ecx, 0x13
je 0x100642ad
cmp eax, 0xf42400
je 0x100642ad
cmp eax, 0x10000
jbe 0x100643ee
add ecx, 0x24
shl ecx, 0x10
add eax, ecx
mov dword [esp + 0x18], eax
jmp 0x10064800
cmp esi, 0x10000
jbe 0x100643d9
mov edx, dword [esp + 0x28]
add edx, 0x24
shl edx, 0x10
add esi, edx
mov dword [esp + 0x18], esi
jmp 0x10064800
mov eax, dword [esp + 0x28]
add eax, 0x11
shl eax, 0x10
add esi, eax
mov dword [esp + 0x18], esi
jmp 0x10064800
add ecx, 0x11
shl ecx, 0x10
add eax, ecx
mov dword [esp + 0x18], eax
jmp 0x10064800
cmp edi, 7
jbe 0x1006447c
mov al, byte [esp + edi + 0x6f]
cmp al, 0x65
lea esi, [esp + edi + 0x70]
je 0x10064418
cmp al, 0x69
jne 0x1006447c
cmp byte [esi - 3], 0x6e
jne 0x1006447c
cmp byte [esi - 2], 0x6e
jne 0x1006447c
cmp byte [esi - 4], 0x65
jne 0x1006447c
lea ecx, [esp + 0x70]
push ecx
call fcn.10060720
add esp, 4
cmp ax, 1
jne 0x1006447c
cmp byte [esi - 1], 0x69
mov byte [ebx], 0x80
mov byte [ebx + 0x10], 0xc2
mov byte [ebx + 0x11], 0xb
mov byte [ebx + 0x12], 0x1c
mov byte [ebx + 0x13], 0
mov byte [ebx + 0x14], 5
mov dword [ebx + 0xc], 5
jne 0x10064464
mov byte [ebx], 0x81
mov eax, 0x989681
mov ecx, dword [esp + 0x8a4]
call fcn.1009d15f
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, 0xa
jbe 0x1006455c
mov al, byte [esp + edi + 0x6e]
cmp al, 0x6d
lea esi, [esp + edi + 0x70]
jne 0x1006455c
cmp byte [esi - 4], 0x73
jne 0x1006455c
cmp byte [esi - 3], 0x69
jne 0x1006455c
cmp byte [esi - 5], 0x65
jne 0x1006455c
lea edx, [esp + 0x70]
push edx
call fcn.10060720
add esp, 4
cmp ax, 1
jne 0x1006455c
movzx ecx, byte [esi - 1]
add ecx, 0xffffff9f
cmp ecx, 0xe
mov eax, 0x989682
mov dword [ebx + 0xc], 5
mov byte [ebx + 0x10], 0x90
mov byte [ebx + 0x11], 7
mov byte [ebx + 0x12], 0
mov byte [ebx + 0x13], 1
ja case.0x100644fd.98
movzx ecx, byte [ecx + 0x100649c8]
jmp dword [ecx*4 + 0x100649b4]
mov byte [ebx], 0
mov ecx, dword [esp + 0x8a4]
call fcn.1009d15f
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [ebx], 2
mov ecx, dword [esp + 0x8a4]
call fcn.1009d15f
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [ebx], 1
mov ecx, dword [esp + 0x8a4]
call fcn.1009d15f
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [ebx], 3
mov ecx, dword [esp + 0x8a4]
call fcn.1009d15f
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x320]
test eax, eax
jne 0x10064800
cmp dword [esp + 0x10], 4
jbe 0x10064800
mov edi, dword [0x100bb324]
mov dword [esp + 0x20], edi
mov dword [esp + 0x60], 0x10
mov eax, edi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10064590
mov ecx, dword [esp + 0x10]
sub eax, edx
cmp eax, ecx
jae 0x100645c1
mov esi, dword [esp + 0x10]
sub esi, eax
lea ecx, [eax - 1]
lea esi, [esp + esi + 0x70]
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x100645b9
sbb edx, edx
sbb edx, 0xffffffff
mov edi, dword [esp + 0x20]
mov dword [esp + 0x40], edx
mov ecx, dword [esp + 0x40]
test ecx, ecx
jne 0x100645cf
mov word [ebx + 6], 0x40
lea edi, [edi + eax + 1]
mov eax, dword [esp + 0x60]
dec eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x60], eax
jne 0x10064587
mov dword [esp + 0x18], 0xf42400
jmp 0x10064800
test esi, esi
mov byte [ebx], 2
je 0x10064610
mov eax, dword [ebx + 0xc]
sub eax, esi
push eax
lea edx, [esi + ebx + 0x10]
mov dword [ebx + 0xc], eax
push edx
lea eax, [ebx + 0x10]
push eax
call fcn.10040980
add esp, 0xc
cmp dword [esp + 0x30], 2
jne 0x1006461e
mov byte [ebx], 3
mov byte [ebx + 1], 0x10
lea ecx, [esp + 0xd8]
push ecx
lea edx, [ebx + 0x110]
push 0xffffffffffffffff
push edx
call fcn.100839e0
add esp, 0xc
jmp 0x10064800
mov ecx, dword [esp + 0x30]
mov dword [ebx + 0xc], ecx
mov edx, ecx
shr ecx, 2
lea eax, [ebx + 0x10]
mov edi, eax
lea esi, [esp + 0x238]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [esp + 0x24]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebx + 0xc]
sub edi, edx
mov ecx, edi
push ecx
lea ecx, [edx + ebx + 0x10]
push ecx
push eax
mov dword [ebx + 0xc], edi
call fcn.10040980
add esp, 0xc
mov byte [ebx], 3
jmp 0x10064800
mov ecx, dword [esp + 0x30]
mov dword [ebx + 0xc], ecx
mov edx, ecx
shr ecx, 2
lea esi, [esp + 0x6a0]
lea edi, [ebx + 0x10]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, 1
cmp word [esp + 0x54], 0
jne 0x100646b6
mov byte [ebx], 1
jmp 0x100647d7
lea eax, [esp + 0x1d8]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100646c0
sub eax, edx
mov dl, byte [esp + eax + 0x1d6]
xor ecx, ecx
cmp dl, 0x6c
setne cl
lea edx, [ebx + 0x110]
push edx
lea eax, [esp + 0x2a4]
push 0xffffffffffffffff
push eax
add ecx, 3
mov edi, ecx
call fcn.100839e0
push 0xffffffffffffffff
lea ecx, [esp + 0x2b0]
push ecx
push edi
push 0xffffffffffffffff
lea edx, [ebx + 0x10]
push edx
push 0
push ebx
call fcn.1005ea90
add esp, 0x28
cmp ax, si
jne 0x100647cf
cmp word [esp + 0x68], si
mov byte [ebx], 3
jne 0x100647d7
mov al, byte [ebx + 1]
mov ecx, dword [esp + 0x28]
and al, 1
or al, 0x70
cmp ecx, 0x35
mov byte [ebx + 1], al
jne 0x10064743
or al, 8
mov byte [ebx + 1], al
jmp 0x100647d7
cmp ecx, 0x40
je 0x100647c8
cmp ecx, 0x46
je 0x100647c8
cmp ecx, 0x4d
je 0x100647c8
movsx ecx, word [esp + 0x4c]
mov cl, byte [esp + ecx + 0x70]
cmp cl, 0x69
mov byte [esp + 0x3f], cl
jne 0x10064797
lea edi, [esp + 0xd8]
lea edx, [edi + 1]
lea ebx, [ebx]
mov cl, byte [edi]
inc edi
test cl, cl
jne 0x10064780
sub edi, edx
cmp byte [esp + edi + 0xd5], 0x61
je 0x100647b9
cmp cl, 0x61
jne 0x100647c1
lea edi, [esp + 0xd8]
lea edx, [edi + 1]
mov cl, byte [edi]
inc edi
test cl, cl
jne 0x100647a6
or al, 0xc
mov byte [ebx + 1], al
jmp 0x100647d7
or al, 6
mov byte [ebx + 1], al
jmp 0x100647d7
mov dword [esp + 0x18], 0xf42400
cmp dword [ebx + 0x320], esi
jne 0x10064800
cmp dword [esp + 0x28], 0x5a
jne 0x10064800
mov edx, dword [ebx + 0x328]
mov eax, dword [esp + 0x10]
mov cl, byte [edx + eax - 1]
cmp cl, 0xe8
lea eax, [edx + eax - 1]
jne 0x10064800
mov byte [eax], 0xe9
mov eax, dword [ebx + 0x320]
mov ecx, dword [esp + 0x18]
mov esi, 1
cmp eax, esi
jne 0x1006484e
cmp ecx, 0xf42400
je 0x10064880
xor eax, eax
mov al, byte [ebx + 0x10]
and eax, 0xe0
cmp eax, 0x80
jne 0x10064832
test byte [ebx + 0x12], 0x20
jmp 0x10064848
cmp eax, 0xc0
jne 0x1006483f
test byte [ebx + 0x11], 0x10
jmp 0x10064848
cmp eax, 0x20
jne 0x1006484e
test byte [ebx + 0x11], 4
jne 0x100648d8
cmp ecx, 0xf42400
je 0x10064880
mov dl, byte [ebx + 0x10]
and dl, 0xe0
cmp dl, 0x40
jne 0x10064880
mov al, byte [ebx + 2]
test al, al
je 0x10064880
mov dl, byte [ebx]
shl al, 4
or dl, al
cmp word [ebx + 4], si
mov byte [ebx + 2], al
mov byte [ebx], dl
mov al, dl
jne 0x10064880
or al, 0x80
mov byte [ebx], al
cmp ecx, 0x400000
jb 0x100648e0
cmp dword [esp + 0x18], 0x40b3b0
ja 0x100648e0
mov al, byte [ebx + 2]
test al, al
je 0x100648e0
lea eax, [esp + 0x1d8]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100648a3
sub eax, edx
cmp eax, 2
jle 0x100648d8
lea edx, [esp + eax + 0x1d8]
lea eax, [edx - 3]
mov edi, 0x100aa40c
mov esi, eax
mov ecx, 4
xor ebx, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x100648e0
cmp byte [eax], 0x72
jne 0x100648d8
cmp byte [edx - 2], 0x6c
je 0x100648e0
mov dword [esp + 0x18], 0xf42400
mov ecx, dword [esp + 0x8a4]
mov eax, dword [esp + 0x18]
call fcn.1009d15f
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret