Function at 0x10027240
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x874
mov eax, dword [0x100542d0]
push ebx
xor edx, edx
push ebp
push esi
or ebx, 0xffffffff
mov ecx, 3
mov dword [esp + 0x87c], eax
push edi
mov dword [esp + 0x4c], edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x54], edx
lea eax, [esp + 0x1c8]
mov dword [esp + 0x38], ecx
nop
mov byte [eax - 0x20], 0
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov byte [eax + 0xc], 0
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x1c], edx
mov dword [eax + 0x20], ebx
mov dword [eax + 0x24], edx
mov dword [eax + 0x28], edx
mov dword [eax + 0x2c], edx
add eax, 0x50
dec ecx
jne 0x10027280
mov esi, dword [esp + 0x88c]
mov eax, esi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100272c0
sub eax, edx
cmp eax, 0x20
jbe 0x100272e9
mov ecx, 7
lea edi, [esp + 0xa8]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov byte [esp + 0xc8], 0
jmp 0x100272fb
push esi
lea eax, [esp + 0xac]
push ebx
push eax
call fcn.100396c0
add esp, 0xc
mov ebp, dword [esp + 0x888]
mov ecx, dword [ebp]
mov word [ebp + 0x2a], bx
xor ebx, ebx
lea eax, [esp + 0xa8]
mov word [ebp + 0x26], bx
mov byte [ecx], bl
lea edx, [eax + 1]
jmp 0x10027320
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10027320
sub eax, edx
mov edx, eax
cmp edx, ebx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
jle 0x10029fe4
jmp 0x10027340
mov al, byte [esp + ebx + 0xa8]
cmp al, 0x41
lea edi, [esp + ebx + 0xa8]
jb 0x10027356
cmp al, 0x5a
jbe 0x10027377
cmp al, 0x61
jb 0x1002735e
cmp al, 0x7a
jbe 0x10027377
movzx edx, al
push edx
push 0x1004f5c8
call fcn.10049330
mov edx, dword [esp + 0x24]
add esp, 8
test eax, eax
je 0x10027397
cmp ebx, 0x1e
je 0x10027397
cmp byte [edi], 0x27
jne 0x100273b5
test ebx, ebx
je 0x1002738d
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x100273bc
mov dword [esp + 0x14], 1
jmp 0x100273b5
cmp byte [edi], 0x2d
jne 0x100273bc
mov ecx, edx
sub ecx, ebx
mov eax, ecx
shr ecx, 2
lea esi, [esp + ebx + 0xa9]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
inc ebx
cmp ebx, edx
jl 0x10027340
jmp 0x100273c4
mov byte [esp + ebx + 0xa8], 0
test ebx, ebx
je 0x10029fe4
xor edi, edi
lea ecx, [edx + 1]
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x14], edi
jmp 0x100273e3
mov edx, dword [esp + 0x1c]
mov eax, dword [ebp + 0x38]
mov ecx, dword [esp + 0x14]
mov word [ecx + eax], si
mov eax, dword [ebp + 4]
mov byte [edi + eax], dl
mov ecx, dword [ebp + 4]
lea edx, [esp + 0xa8]
push edx
mov word [edi + ecx + 6], bx
mov eax, dword [ebp]
push 0xffffffffffffffff
push eax
call fcn.10039670
add esp, 0xc
cmp si, 0xc
jae 0x10027425
mov ecx, dword [ebp]
push 0x1004f384
push 0xffffffffffffffff
push ecx
jmp 0x10027430
mov edx, dword [ebp]
push 0x1004f5c4
push 0xffffffffffffffff
push edx
call fcn.10039670
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x54]
add esi, 2
add edx, 2
add esp, 0xc
add ebx, eax
add edi, 0xc
cmp si, 0xe
mov dword [esp + 0x14], edx
jb 0x100273df
xor ebx, ebx
push ebx
push ebp
call fcn.10006590
push ebp
call fcn.100065a0
lea eax, [esp + 0xa8]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x10], ebx
mov word [ebp + 0xe4], bx
lea ecx, [eax + 1]
lea ecx, [ecx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10027480
sub eax, ecx
mov ecx, dword [ebp + 0x21c]
mov dl, byte [esp + eax + 0xa7]
push 0xffffffffffffffff
lea eax, [esp + 0xac]
mov byte [ecx + 0x320], dl
mov ecx, dword [ebp + 0x21c]
push eax
push ecx
call fcn.10017450
mov edi, eax
add esp, 0xc
cmp edi, 0xf42400
mov dword [esp + 0x28], edi
je 0x1002770b
mov esi, 1
lea eax, [esp + 0xa8]
mov dword [esp + 0x54], esi
mov dword [esp + 0x6c], esi
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100274e0
sub eax, edx
cmp byte [esp + eax + 0xa7], 0x27
jne 0x10027521
mov ecx, dword [ebp + 0x21c]
push 0xffffffffffffffff
lea edx, [esp + 0xac]
push edx
lea eax, [esp + 0x30]
push eax
push ecx
call fcn.10047a30
mov edi, dword [esp + 0x38]
movzx edx, ax
mov eax, dword [ebp + 0x30]
add esp, 0x10
add edi, edx
mov dword [eax], edi
jmp 0x1002752c
mov ecx, dword [ebp + 0x30]
add edi, 0xfbf4
mov dword [ecx], edi
mov eax, dword [ebp + 0x21c]
movzx ecx, byte [eax + 0xc]
add ecx, 0xffffff9f
cmp ecx, 0x19
mov dword [esp + 0x28], edi
ja case.0x1002754d.98
movzx edx, byte [ecx + 0x1002a034]
jmp dword [edx*4 + 0x1002a010]
mov eax, dword [ebp + 0x34]
mov byte [eax], 1
mov eax, dword [ebp + 0x21c]
cmp byte [eax + 0xe], 0x73
mov byte [ebp + 0xe2], 1
jne case.0x1002754d.98
mov ecx, dword [ebp + 0x38]
xor edx, edx
mov dx, word [ecx]
push 0
add eax, 0xc
push edx
push 0xffffffffffffffff
push eax
push ebp
call fcn.10026690
mov bx, word [ebp + 0xe4]
movzx ecx, ax
mov eax, dword [ebp + 0x38]
movzx eax, word [eax]
lea edx, [eax + eax*2]
mov eax, dword [ebp + 4]
mov word [eax + edx*4 + 4], bx
add word [ebp + 0xe4], cx
mov ecx, dword [ebp + 0x30]
mov dword [ecx + 4], edi
mov edx, dword [ebp + 0x34]
mov byte [edx + 1], 8
mov byte [ebp + 0xe2], 8
mov ecx, dword [0x10060eb0]
mov edx, dword [ecx + 0xdc]
xor eax, eax
add esp, 0x14
cmp edi, edx
sete al
mov ebx, esi
mov dword [esp + 0x890], eax
jmp case.0x1002754d.98
mov edx, dword [ebp + 0x34]
mov byte [edx], 6
mov eax, dword [ebp + 0x21c]
mov byte [ebp + 0xe2], 6
cmp byte [eax + 0xe], 0x73
jne case.0x1002754d.98
mov ecx, dword [ebp + 0x38]
xor edx, edx
mov dx, word [ecx]
push 0
add eax, 0xc
push edx
push 0xffffffffffffffff
push eax
push ebp
call fcn.10026690
mov bx, word [ebp + 0xe4]
movzx ecx, ax
mov eax, dword [ebp + 0x38]
movzx eax, word [eax]
lea edx, [eax + eax*2]
mov eax, dword [ebp + 4]
mov word [eax + edx*4 + 4], bx
add esp, 0x14
add word [ebp + 0xe4], cx
mov ecx, dword [ebp + 0x30]
mov dword [ecx + 4], edi
mov edx, dword [ebp + 0x34]
mov byte [edx + 1], 7
mov ebx, esi
mov byte [ebp + 0xe2], 7
mov dword [esp + 0x890], 0
jmp case.0x1002754d.98
mov eax, dword [ebp + 0x34]
mov byte [eax], 2
jmp case.0x1002754d.98
mov ecx, dword [ebp + 0x34]
mov byte [ecx], 8
jmp case.0x1002754d.98
mov edx, dword [ebp + 0x34]
mov byte [edx], 7
jmp case.0x1002754d.98
mov eax, dword [ebp + 0x34]
mov byte [eax], 5
jmp case.0x1002754d.98
cmp byte [eax + 0xd], 0x6f
jne 0x10027693
mov ecx, dword [ebp + 0x34]
mov byte [ebp + 0xe2], 2
mov byte [ecx], 2
jmp case.0x1002754d.98
mov edx, dword [ebp + 0x34]
mov byte [ebp + 0xe2], 6
mov byte [edx], 6
jmp case.0x1002754d.98
mov eax, dword [ebp + 0x34]
mov byte [eax], 3
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebp + 0x21c]
movzx esi, bx
xor edx, edx
shl esi, 1
mov dx, word [ecx + esi]
push ebx
add eax, 0xc
push edx
push 0xffffffffffffffff
push eax
push ebp
call fcn.10026690
mov edx, dword [ebp + 0x38]
movzx ecx, ax
movzx eax, word [edx + esi]
mov si, word [ebp + 0xe4]
mov edx, dword [ebp + 4]
lea eax, [eax + eax*2]
mov word [edx + eax*4 + 4], si
add word [ebp + 0xe4], cx
mov eax, dword [ebp + 0x21c]
mov cl, byte [eax + 0xc]
add esp, 0x14
inc ebx
cmp cl, 0x7a
mov dword [esp + 0x10], ebx
jne 0x1002770b
mov dword [esp + 0x30], 1
mov eax, dword [esp + 0x890]
test eax, eax
jne 0x1002772a
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x1002772a
cmp edi, 0xf42400
jne 0x1002806c
mov edx, dword [ebp + 0x21c]
lea ecx, [esp + 0xa8]
push ecx
push edx
mov dword [esp + 0x38], 0xf42400
call fcn.10047a30
mov esi, eax
add esp, 8
cmp esi, 0xf42400
mov dword [esp + 0x28], esi
je 0x10027766
mov eax, dword [ebp + 0x21c]
push eax
call fcn.1001a300
add esp, 4
mov eax, dword [ebp + 0x21c]
mov cl, byte [eax + 2]
test cl, cl
je 0x1002777c
push eax
call fcn.1001a300
add esp, 4
cmp esi, 0xf42400
jne 0x1002779b
mov eax, dword [esp + 0x54]
test eax, eax
jne 0x10029a05
xor ebx, ebx
mov dword [esp + 0x10], ebx
jmp 0x10029a05
mov ecx, dword [ebp + 0x21c]
cmp word [ecx + 0xa], 0
mov dword [esp + 0x44], 0
jbe 0x1002806c
movzx ebx, word [esp + 0x10]
mov edx, dword [ebp + 0x30]
mov eax, dword [esp + 0x28]
mov dword [edx + ebx*4], eax
mov ecx, dword [ebp + 0x34]
mov eax, dword [esp + 0x44]
mov byte [ebx + ecx], 0xa
mov esi, dword [ebp + 0x21c]
mov dl, byte [esi + eax + 0xc]
xor ecx, ecx
mov cl, dl
mov dword [esp + 0x34], 0
and ecx, 0xe0
add ecx, 0xffffffe0
cmp ecx, 0xc0
ja case.0x10027800.33
movzx ecx, byte [ecx + 0x1002a06c]
jmp dword [ecx*4 + 0x1002a050]
mov edx, dword [ebp + 0x34]
mov byte [ebx + edx], 4
mov ecx, dword [ebp + 0x21c]
lea ecx, [ecx + eax + 0xc]
mov dword [esp + 0x50], ecx
mov cl, byte [ecx]
test cl, 2
mov dword [esp + 0x4c], 1
je 0x1002782f
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x20], 0xffffffff
jne 0x10027856
and cl, 0x1c
cmp cl, 4
jne 0x10027856
mov edx, dword [ebp + 0x21c]
movzx ecx, byte [edx + eax + 0x10]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x40], ecx
jmp case.0x10027800.33
mov edi, 0x1004f5bc
lea esi, [esp + 0xa8]
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x1002789b
mov edi, str.qualche
lea esi, [esp + 0xa8]
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x1002789b
mov edi, 0x1004f5ac
lea esi, [esp + 0xa8]
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x100278a9
mov esi, dword [esp + 0x50]
mov cl, byte [esi]
and cl, 0xe3
add cl, 0x14
mov byte [esi], cl
mov edx, dword [ebp + 0x21c]
movzx ecx, byte [edx + eax + 0x10]
mov dword [esp + 0x40], ecx
jmp case.0x10027800.33
mov cl, dl
and cl, 1
dec cl
neg cl
sbb ecx, ecx
inc ecx
lea ecx, [ecx + ecx + 5]
cmp ecx, 5
jne 0x100278ed
movzx ecx, word [esi + 0xa]
lea edi, [eax + 0xa]
cmp ecx, edi
jl 0x100278ed
mov cl, byte [esi + eax + 0x11]
and cl, 0xe0
cmp cl, 0xc0
jne 0x100278ed
xor edi, edi
jmp 0x100278f2
mov edi, 1
mov al, byte [esi + eax + 0xe]
and al, 0x1c
cmp al, 0x1c
jne 0x10027964
test edi, edi
je 0x10027964
test dl, 0x10
jne 0x10027964
mov eax, dword [esp + 0x28]
mov ecx, dword [0x10060cfc]
lea edx, [ecx + eax*2]
add edx, eax
mov eax, dword [0x10060e04]
push 0
push edx
push eax
call fcn.10039b20
mov edx, dword [0x10060e04]
push 3
lea ecx, [esp + 0x6c]
push ecx
push edx
call fcn.10039a80
movzx eax, byte [esp + 0x76]
mov ecx, dword [esp + 0x74]
movzx edx, ch
shl eax, 8
add esp, 0x18
add eax, edx
mov dword [esp + 0x30], eax
je 0x1002795c
cmp cl, 0x6d
jne 0x1002795c
mov ecx, dword [ebp + 0x30]
mov dword [ecx + ebx*4], eax
jmp 0x10027964
mov dword [esp + 0x30], 0
mov edx, dword [ebp + 0x21c]
mov ecx, dword [esp + 0x44]
lea eax, [edx + ecx]
test byte [eax + 0xf], 0x10
je 0x10027995
test byte [eax + 0xc], 0x10
jne 0x10027995
mov eax, dword [ebp + 0x34]
mov byte [ebx + eax], 4
mov byte [ebp + 0xe2], 4
mov dword [esp + 0x4c], 1
jmp 0x100279a3
mov edx, dword [ebp + 0x34]
mov byte [ebx + edx], 3
mov byte [ebp + 0xe2], 3
mov eax, dword [ebp + 0x21c]
movzx ecx, byte [eax + ecx + 0x10]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x34], 1
mov dword [esp + 0x40], ecx
jmp case.0x10027800.33
mov edx, dword [ebp + 0x34]
mov byte [ebx + edx], 8
mov ecx, dword [ebp + 0x21c]
movzx edx, byte [ecx + eax + 0xe]
mov dword [esp + 0x40], edx
jmp case.0x10027800.33
mov ecx, dword [ebp + 0x34]
mov byte [ebx + ecx], 7
mov edx, dword [ebp + 0x21c]
movzx ecx, byte [edx + eax + 0xd]
mov dword [esp + 0x40], ecx
jmp case.0x10027800.33
mov edx, dword [ebp + 0x34]
mov byte [ebx + edx], 5
mov ecx, dword [ebp + 0x21c]
movzx edx, byte [ecx + eax + 0x10]
mov dword [esp + 0x40], edx
test eax, eax
jmp 0x10027a2f
test eax, eax
mov ecx, dword [ebp + 0x34]
mov byte [ebx + ecx], 5
mov ecx, dword [ebp + 0x21c]
movzx edx, byte [ecx + eax + 0xe]
mov dword [esp + 0x40], edx
je case.0x10027800.33
mov edx, dword [ebp + 0x34]
cmp byte [ebx + edx - 1], 5
je case.0x10027800.33
mov byte [ecx], 0
mov ecx, dword [esp + 0x10]
test cx, cx
je 0x10027a64
cmp cx, 1
jne 0x10027f1a
mov ecx, dword [ebp + 0x30]
mov ecx, dword [ecx]
cmp ecx, 0xfbf4
jb 0x10027f1a
cmp ecx, 0x10000
jae 0x10027f1a
mov ecx, dword [ebp + 0x21c]
mov dl, byte [ecx + eax + 0xc]
and dl, 0xe0
cmp dl, 0x20
jne 0x10027f1a
mov al, byte [ecx]
test al, al
je 0x10027f1a
mov byte [ecx], 0xfa
mov ecx, dword [ebp + 0x34]
mov dl, byte [ebx + ecx]
mov ecx, dword [esp + 0x44]
mov byte [esp + 0x1b], al
mov eax, dword [ebp + 0x21c]
mov byte [ebp + 0xe2], dl
mov edx, dword [esp + 0x10]
push edx
lea eax, [eax + ecx + 0xc]
mov ecx, dword [ebp + 0x38]
xor edx, edx
mov dx, word [ecx + ebx*2]
push 0
push edx
push 0xffffffffffffffff
push eax
movzx eax, byte [eax]
and eax, 0xffffffe0
push eax
push ebp
call fcn.10024f50
movzx ecx, ax
movzx eax, byte [esp + 0x37]
add esp, 0x1c
dec eax
mov dword [esp + 0x14], ecx
je 0x10027dde
dec eax
je 0x10027c5b
dec eax
jne 0x10027fcd
movzx edx, word [ebp + 0xe4]
mov eax, dword [ebp + 0x14]
mov byte [edx + eax + 3], 0x31
mov ecx, dword [ebp + 0x21c]
mov al, byte [ecx + 1]
xor edx, edx
mov dl, al
mov byte [esp + 0x1b], 0
and edx, 0xf0
lea ecx, [edx - 0x10]
cmp ecx, 0x70
ja case.0x10027b24.17
movzx ecx, byte [ecx + 0x1002a148]
jmp dword [ecx*4 + 0x1002a130]
lea edx, [esp + 0x60]
push 0xffffffffffffffff
push edx
mov byte [esp + 0x2f], 0x49
mov byte [esp + 0x68], al
call fcn.10018690
movzx eax, word [ebp + 0xe4]
mov ecx, dword [ebp + 0x14]
mov dl, byte [esp + 0x69]
add esp, 8
mov byte [eax + ecx + 3], dl
jmp case.0x10027b24.17
mov byte [esp + 0x60], al
lea eax, [esp + 0x60]
push 0xffffffffffffffff
push eax
mov byte [esp + 0x2f], 0x4d
call fcn.10018690
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov al, byte [esp + 0x69]
add esp, 8
mov byte [ecx + edx + 3], al
jmp case.0x10027b24.17
mov byte [esp + 0x27], 0x47
jmp case.0x10027b24.17
mov byte [esp + 0x27], 0x50
mov byte [esp + 0x1b], 1
jmp case.0x10027b24.17
mov byte [esp + 0x27], 0x46
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov al, byte [esp + 0x27]
mov byte [ecx + edx + 8], al
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov al, byte [esp + 0x1b]
mov byte [ecx + edx + 9], al
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 0xa], 0x53
mov eax, dword [ebp + 0x21c]
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
add eax, 0x10c
push eax
lea eax, [ecx + edx + 0xb]
push 0xffffffffffffffff
push eax
call fcn.100396c0
mov edi, dword [ebp + 0x21c]
lea eax, [edi + 0x10c]
add esp, 0xc
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10027c02
mov ecx, dword [esp + 0x14]
sub eax, esi
lea esi, [ecx + eax + 1]
mov eax, dword [ebp + 4]
movzx ecx, byte [edi + 2]
lea edx, [ebx + ebx*2]
lea eax, [eax + edx*4]
mov edx, dword [eax + 8]
movzx eax, byte [eax]
sub edx, ecx
movzx ecx, word [ebp + 0xe4]
add edx, eax
push edx
add ecx, dword [ebp + 0x14]
lea edx, [ecx + esi + 0xb]
push 0xffffffffffffffff
push edx
call fcn.100396c0
mov eax, dword [ebp + 0x21c]
movzx ecx, byte [eax + 2]
lea edx, [esi + ecx + 0xc]
add esp, 0xc
mov dword [esp + 0x14], edx
jmp 0x10027fcd
mov ecx, dword [ebp + 4]
lea eax, [ebx + ebx*2]
shl eax, 2
movzx edx, byte [eax + ecx]
movzx ecx, word [ebp + 0xe4]
mov dword [esp + 0x58], edx
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 3], 0x31
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 8], 0x46
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 9], 0
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 0xa], 0x53
mov ecx, dword [ebp + 0x21c]
movzx esi, byte [ecx + 2]
mov edx, dword [ebp + 4]
movzx ecx, byte [edx + eax]
mov edi, dword [ebp + 0x14]
sub ecx, esi
add edx, eax
mov dword [esp + 0x50], esi
mov esi, dword [edx + 8]
movzx edx, word [ebp + 0xe4]
lea edi, [edx + edi + 0xb]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [esp + 0x50]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
movzx esi, word [ebp + 0xe4]
mov ecx, dword [esp + 0x58]
mov edi, dword [ebp + 0x14]
sub esi, edx
add esi, ecx
mov byte [esi + edi + 0xb], 0x65
movzx esi, word [ebp + 0xe4]
sub esi, edx
add esi, ecx
mov ecx, dword [ebp + 0x14]
mov byte [esi + ecx + 0xc], 0
movzx edx, word [ebp + 0xe4]
mov ecx, dword [ebp + 0x14]
mov esi, dword [str.avere]
add ecx, edx
mov dword [esp + 0x1c], ecx
lea edi, [ecx + 0xb]
mov dl, byte [esi]
mov cl, dl
cmp dl, byte [edi]
jne 0x10027d4b
test cl, cl
je 0x10027d47
mov dl, byte [esi + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x10027d4b
add esi, 2
add edi, 2
test cl, cl
jne 0x10027d27
xor ecx, ecx
jmp 0x10027d50
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
je 0x10027d8e
mov edi, dword [esp + 0x1c]
mov esi, dword [0x10052040]
add edi, 0xb
mov dl, byte [esi]
mov cl, dl
cmp dl, byte [edi]
jne 0x10027d85
test cl, cl
je 0x10027d81
mov dl, byte [esi + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x10027d85
add esi, 2
add edi, 2
test cl, cl
jne 0x10027d61
xor ecx, ecx
jmp 0x10027d8a
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x10027d96
mov ecx, dword [esp + 0x1c]
mov byte [ecx + 7], 0x41
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 0x14]
mov edx, ecx
sub edx, edi
lea esi, [esi + edx + 2]
mov edx, dword [ebp + 4]
mov eax, dword [eax + edx + 8]
mov edx, dword [ebp + 0x14]
sub eax, edi
add eax, ecx
movzx ecx, word [ebp + 0xe4]
push eax
add ecx, edx
lea edx, [ecx + esi + 0xb]
push 0xffffffffffffffff
push edx
call fcn.100396c0
lea eax, [esi + edi + 0xc]
add esp, 0xc
mov dword [esp + 0x14], eax
jmp 0x10027fcd
mov ecx, dword [ebp + 0x21c]
mov dl, byte [ecx + 1]
lea eax, [esp + 0x60]
push 0xffffffffffffffff
push eax
mov byte [esp + 0x68], dl
call fcn.10018690
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov al, byte [esp + 0x69]
mov byte [ecx + edx + 3], al
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov al, byte [esp + 0x68]
mov byte [ecx + edx + 8], al
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov al, byte [esp + 0x6a]
mov byte [ecx + edx + 9], al
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 0xa], 0x4e
mov eax, dword [ebp + 0x21c]
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
add eax, 0x10c
push eax
lea eax, [ecx + edx + 0xb]
push 0xffffffffffffffff
push eax
call fcn.100396c0
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov esi, dword [str.avere]
add ecx, edx
add esp, 0x14
mov dword [esp + 0x1c], ecx
add ecx, 0xb
mov edi, ecx
lea esp, [esp]
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x10027ea4
test al, al
je 0x10027ea0
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x10027ea4
add esi, 2
add edi, 2
test al, al
jne 0x10027e80
xor eax, eax
jmp 0x10027ea9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x10027ee6
mov esi, dword [0x10052040]
mov edi, ecx
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x10027edd
test al, al
je 0x10027ed9
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x10027edd
add esi, 2
add edi, 2
test al, al
jne 0x10027eb5
xor eax, eax
jmp 0x10027ee2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10027eee
mov eax, dword [esp + 0x1c]
mov byte [eax + 7], 0x41
mov eax, dword [ebp + 0x21c]
add eax, 0x10c
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10027f00
mov ecx, dword [esp + 0x14]
sub eax, edx
lea edx, [ecx + eax + 0xc]
mov dword [esp + 0x14], edx
jmp 0x10027fcd
mov eax, dword [ebp + 0x34]
mov cl, byte [ebx + eax]
mov eax, dword [ebp + 0x21c]
mov esi, dword [esp + 0x44]
mov byte [ebp + 0xe2], cl
mov dl, byte [eax]
mov ecx, dword [esp + 0x10]
push ecx
mov byte [esp + 0x1f], dl
mov edx, dword [ebp + 0x38]
xor ecx, ecx
mov cx, word [edx + ebx*2]
lea eax, [eax + esi + 0xc]
xor edx, edx
mov dl, byte [eax]
push 0
push ecx
push 0xffffffffffffffff
push eax
and edx, 0xffffffe0
push edx
push ebp
call fcn.10024f50
mov ecx, dword [ebp + 0x21c]
mov dl, byte [esp + 0x37]
movzx eax, ax
mov byte [ecx], dl
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0x21c]
mov cl, byte [eax + esi + 0xc]
and cl, 0xe0
add esp, 0x1c
cmp cl, 0x40
jne 0x10027fcd
movzx edx, word [ebp + 0xe4]
mov eax, dword [ebp + 0x14]
cmp byte [edx + eax + 8], 0x50
jne 0x10027fcd
lea ecx, [esp + 0x48]
push ecx
call fcn.1000fc90
movzx edx, word [ebp + 0xe4]
mov eax, dword [ebp + 0x14]
lea ecx, [edx + eax + 0xb]
mov edx, dword [esp + 0x48]
push 0xffffffffffffffff
push ecx
push edx
call fcn.10047a30
mov ecx, dword [ebp + 0x30]
mov dword [ecx + ebx*4], eax
mov edx, dword [esp + 0x54]
add esp, 0xc
push edx
call fcn.1000fce0
mov eax, dword [ebp + 0x34]
cmp byte [ebx + eax], 5
jne 0x10027ffb
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
lea eax, [edx + ecx + 0xb]
push 1
push eax
lea ecx, [esp + 0x1b0]
push ecx
call fcn.1001a200
add esp, 0xc
mov dword [esp + 0x38], eax
cmp word [esp + 0x10], 0
jbe 0x10028108
cmp dword [esp + 0x54], 1
jne 0x10028108
movzx esi, word [ebp + 0xe4]
mov edi, dword [ebp + 0x14]
mov ecx, dword [esp + 0x14]
add esi, edi
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10028108
add dword [esp + 0x10], 0xffff
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x44]
mov eax, dword [ebp + 0x21c]
push edx
add eax, 0xc
push eax
call fcn.10019f60
mov ecx, dword [ebp + 0x21c]
movzx edx, word [ecx + 0xa]
add esp, 8
inc edi
cmp eax, edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x10], edi
jl 0x100277b4
mov ebx, edi
lea eax, [esp + 0xa8]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10028076
sub eax, edx
mov edi, eax
cmp edi, 4
mov dword [esp + 0x1c], edi
jl 0x1002866e
mov al, byte [esp + edi + 0xa5]
cmp al, 0x6e
lea esi, [esp + edi + 0xa8]
jne 0x1002866e
cmp byte [esi - 2], 0x74
jne 0x1002866e
mov al, byte [esi - 4]
cmp al, 0x61
je 0x100280bd
cmp al, 0x65
jne 0x1002866e
lea eax, [esp + 0xa8]
push eax
lea ecx, [esp + 0x29c]
push 0xffffffffffffffff
push ecx
mov dword [esp + 0x58], 0
call fcn.100396c0
mov al, byte [esi - 4]
add esp, 0xc
cmp al, 0x61
mov byte [esp + edi + 0x294], 0
jne 0x100282c2
mov edx, dword [0x10052038]
push edx
push 0xffffffffffffffff
lea eax, [esp + 0x2a0]
push eax
jmp 0x100282d3
mov eax, dword [ebp + 0x38]
mov edx, dword [ebp + 4]
lea esi, [ebx + ebx]
movzx eax, word [eax + esi]
lea ecx, [eax + eax*2]
mov ax, word [ebp + 0xe4]
mov word [edx + ecx*4 + 4], ax
mov ecx, dword [esp + 0x40]
push ecx
push ebx
push ebp
call fcn.1001a0b0
mov dx, word [esp + 0x20]
add word [ebp + 0xe4], dx
mov dword [esp + ebx*8 + 0x78], eax
mov eax, dword [ebp + 0x34]
mov cl, byte [ebx + eax]
add esp, 0xc
cmp cl, 5
jne 0x10028188
mov ecx, dword [ebp + 0x38]
movzx eax, word [ecx + esi]
lea edx, [eax + eax*2]
mov eax, dword [ebp + 4]
movzx ecx, word [eax + edx*4 + 4]
mov edx, dword [ebp + 0x14]
lea eax, [ecx + edx]
cmp byte [eax + 8], 0x50
jne 0x10028188
mov cl, byte [eax + 9]
test cl, cl
jne 0x10028188
mov eax, dword [esp + 0x38]
lea eax, [eax + eax*4]
shl eax, 4
mov dword [esp + eax + 0x1f4], 1
mov eax, dword [esp + 0x34]
test eax, eax
je 0x10028034
mov ecx, dword [ebp + 0x21c]
mov edx, dword [esp + 0x44]
lea eax, [ecx + edx]
mov cl, byte [eax + 0xc]
test cl, 2
je 0x10028034
mov edx, dword [esp + 0x4c]
test edx, edx
jne 0x10028034
mov al, byte [eax + 0xe]
mov edi, dword [esp + 0x10]
and al, 0x1c
inc edi
cmp al, 0x1c
jne 0x100281f5
test cl, 0x10
jne 0x100281f5
mov eax, dword [esp + 0x30]
cmp eax, 0xf42400
je 0x100281e6
test eax, eax
je 0x100281e6
mov ecx, dword [ebp + 0x30]
movzx esi, di
mov dword [ecx + esi*4], eax
jmp 0x10028202
mov edx, dword [ebp + 0x30]
mov eax, dword [esp + 0x28]
movzx esi, di
mov dword [edx + esi*4], eax
jmp 0x10028202
mov ecx, dword [ebp + 0x30]
mov edx, dword [esp + 0x28]
movzx esi, di
mov dword [ecx + esi*4], edx
mov eax, dword [ebp + 0x34]
mov byte [esi + eax], 4
mov ecx, dword [ebp + 0x21c]
mov byte [ebp + 0xe2], 4
cmp word [ecx + 0xa], 0xa
jb 0x10028256
mov dl, byte [ecx + 0xc]
mov al, dl
and al, 0xe0
cmp al, 0xc0
jne 0x10028256
mov al, dl
and al, 1
dec al
neg al
sbb eax, eax
inc eax
lea eax, [eax + eax + 5]
mov al, byte [eax + ecx + 0xc]
mov bl, al
and bl, 0xe0
cmp bl, 0xc0
jne 0x10028256
and dl, 0xc
and al, 0xc
cmp dl, al
jne 0x10028256
cmp dl, 8
je 0x10028256
mov byte [ecx], 0x80
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebp + 0x21c]
xor edx, edx
mov dx, word [ecx + esi*2]
mov ecx, dword [esp + 0x44]
push edi
push 0
push edx
push 0xffffffffffffffff
lea edx, [eax + ecx + 0xc]
push edx
push 0xc0
push ebp
call fcn.10024f50
mov edx, dword [ebp + 4]
movzx ebx, ax
mov eax, dword [ebp + 0x38]
movzx eax, word [eax + esi*2]
lea ecx, [eax + eax*2]
mov ax, word [ebp + 0xe4]
mov word [edx + ecx*4 + 4], ax
mov ecx, dword [esp + 0x5c]
push ecx
push esi
push ebp
call fcn.1001a0b0
add esp, 0x28
add word [ebp + 0xe4], bx
mov dword [esp + esi*8 + 0x6c], eax
mov dword [esp + 0x4c], 1
jmp 0x10028038
mov ecx, dword [0x10052034]
push ecx
push 0xffffffffffffffff
lea edx, [esp + 0x2a0]
push edx
call fcn.10039670
add esp, 0xc
lea eax, [esp + 0x14]
push eax
call fcn.1000fc90
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x298]
push ecx
push edx
call fcn.10047a30
mov ebx, eax
mov edi, 0xf42400
add esp, 8
cmp ebx, edi
mov dword [esp + 0x28], ebx
je 0x10028318
mov eax, dword [esp + 0x14]
mov cl, byte [eax + 0xc]
and cl, 0xe0
cmp cl, 0x20
je 0x10028363
lea eax, [esp + 0x298]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10028322
sub eax, edx
mov edx, dword [0x10052030]
push edx
mov byte [esp + eax + 0x299], cl
lea eax, [esp + 0x29c]
push 0xffffffffffffffff
push eax
call fcn.10039670
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x2a4]
push ecx
push edx
call fcn.10047a30
mov ebx, eax
add esp, 0x14
mov dword [esp + 0x28], ebx
cmp ebx, edi
je 0x10028378
mov eax, dword [esp + 0x14]
mov al, byte [eax + 0xc]
and al, 0xe0
cmp al, 0x20
je 0x10028428
lea eax, [esp + 0x298]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10028382
mov esi, dword [0x10052034]
sub eax, edx
lea eax, [esp + eax + 0x295]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x100283c0
test cl, cl
je 0x100283bc
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x100283c0
add eax, 2
add esi, 2
test cl, cl
jne 0x10028398
xor eax, eax
jmp 0x100283c5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1002841f
lea eax, [esp + 0x298]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100283d3
sub eax, edx
push 0x1004f41c
mov byte [esp + eax + 0x298], cl
lea eax, [esp + 0x29c]
push 0xffffffffffffffff
push eax
call fcn.10039670
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x2a4]
push ecx
push edx
call fcn.10047a30
mov ebx, eax
mov eax, dword [esp + 0x28]
mov al, byte [eax + 0xc]
and al, 0xe0
add esp, 0x14
cmp al, 0x20
mov dword [esp + 0x28], ebx
je 0x10028428
mov dword [esp + 0x28], edi
jmp 0x10028660
cmp ebx, edi
je 0x10028660
cmp al, 0x20
je 0x1002843d
mov dword [esp + 0x28], edi
jmp 0x10028660
push 1
lea ecx, [esp + 0x29c]
push ecx
lea edx, [esp + 0x1b0]
push edx
call fcn.1001a200
lea eax, [eax + eax*4]
shl eax, 4
mov ecx, dword [esp + eax + 0x200]
add esp, 0xc
test ecx, ecx
jne 0x10028660
push 1
lea ecx, [esp + 0x29c]
push ecx
lea edx, [esp + 0x1b0]
push edx
call fcn.1001a200
lea eax, [eax + eax*4]
shl eax, 4
mov ecx, dword [esp + eax + 0x1fc]
add esp, 0xc
test ecx, ecx
mov dword [esp + 0x48], eax
jne 0x10028660
mov eax, dword [ebp + 0x21c]
push eax
call fcn.1001a300
add esp, 4
push 0
push 1
push 0
push 5
push 0xffffffffffffffff
lea ecx, [esp + 0x3ac]
push ecx
lea edx, [esp + 0x2b0]
push edx
call fcn.10037ea0
lea ecx, [esp + 0x398]
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x100284d7
sub ecx, esi
cmp eax, 1
mov edx, ecx
jne 0x10028660
lea ecx, [edx - 1]
lea edi, [esp + 0xa8]
lea esi, [esp + 0x398]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x10028660
lea eax, [esp + 0xa8]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10028510
sub eax, esi
cmp edx, eax
jne 0x10028660
mov al, byte [esp + edx + 0xa7]
cmp al, 0x61
je 0x1002853c
cmp al, 0x65
je 0x1002853c
cmp al, 0x6f
je 0x1002853c
cmp al, 0x69
jne 0x10028660
mov eax, dword [esp + 0x14]
mov cl, byte [eax + 0xc]
and cl, 0xe0
cmp cl, 0x80
jne 0x10028556
mov esi, 5
mov dword [esp + 0x4c], esi
jmp 0x1002855a
mov esi, dword [esp + 0x4c]
mov al, byte [eax + esi + 0xc]
mov dl, al
and dl, 0xe0
cmp dl, 0xc0
jne 0x10028579
and al, 1
dec al
neg al
sbb eax, eax
inc eax
lea eax, [esi + eax*2 + 5]
mov dword [esp + 0x4c], eax
mov edi, dword [esp + 0x10]
mov ecx, dword [ebp + 0x34]
movzx esi, di
mov byte [esi + ecx], 5
mov edx, dword [ebp + 0x30]
mov dword [edx + esi*4], ebx
mov eax, dword [ebp + 0x21c]
lea ecx, [esp + 0x298]
mov byte [eax], 0xc8
mov edx, dword [ebp + 0x21c]
push ecx
add edx, 0x10c
push 0xffffffffffffffff
push edx
call fcn.100396c0
mov eax, dword [ebp + 0x34]
mov cl, byte [esi + eax]
mov edx, dword [ebp + 0x38]
xor eax, eax
mov byte [ebp + 0xe2], cl
mov ax, word [edx + esi*2]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x58]
push edi
push 0
push eax
push 0xffffffffffffffff
lea eax, [ecx + edx + 0xc]
push eax
push 0x20
push ebp
call fcn.10024f50
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 3], 0x31
mov ecx, dword [ebp + 0x14]
movzx edi, ax
movzx eax, word [ebp + 0xe4]
mov byte [eax + ecx + 8], 0x50
movzx edx, word [ebp + 0xe4]
mov eax, dword [ebp + 0x14]
mov byte [edx + eax + 9], 0
mov ecx, dword [ebp + 0x38]
movzx eax, word [ecx + esi*2]
mov cx, word [ebp + 0xe4]
lea edx, [eax + eax*2]
mov eax, dword [ebp + 4]
mov word [eax + edx*4 + 4], cx
mov edx, dword [esp + 0x68]
push edx
push esi
push ebp
call fcn.1001a0b0
add word [ebp + 0xe4], di
mov dword [esp + esi*8 + 0xa0], eax
mov eax, dword [esp + 0x44]
add esp, 0x34
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x48]
mov dword [esp + eax + 0x1f4], 1
mov ecx, dword [esp + 0x14]
push ecx
call fcn.1000fce0
mov ebx, dword [esp + 0x10]
movzx ecx, bx
xor eax, eax
test ecx, ecx
mov dword [esp + 0x34], eax
jle 0x10028aba
mov ecx, dword [ebp + 0x34]
mov al, byte [ecx + eax]
cmp al, 5
mov edx, 1
jne 0x100288cf
mov edx, dword [ebp + 0x38]
mov eax, dword [esp + 0x34]
mov ebx, dword [ebp + 4]
mov ecx, dword [ebp + 0x14]
lea edi, [edx + eax*2]
movzx eax, word [edi]
lea edx, [eax + eax*2]
movzx eax, word [ebx + edx*4 + 4]
add eax, ecx
lea esi, [esp + 0x1a8]
mov dword [esp + 0x50], eax
mov dword [esp + 0x30], 0
mov dword [esp + 0x48], esi
cmp byte [esi], 0
je 0x1002871c
mov eax, dword [esp + 0x50]
add eax, 0xb
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x100286f6
test cl, cl
je 0x100286f2
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x100286f6
add eax, 2
add esi, 2
test cl, cl
jne 0x100286d2
xor eax, eax
jmp 0x100286fb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x100288c6
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x48]
inc eax
add esi, 0x50
cmp eax, 3
mov dword [esp + 0x30], eax
mov dword [esp + 0x48], esi
jl 0x100286c6
or edx, 0xffffffff
mov eax, dword [esp + 0x50]
cmp byte [eax + 8], 0x4d
mov esi, dword [esp + 0x34]
jne 0x1002873a
lea ecx, [edx + edx*4]
shl ecx, 4
mov dword [esp + ecx + 0x1d8], esi
movzx eax, word [edi]
mov ecx, dword [ebp + 0x14]
lea eax, [eax + eax*2]
movzx eax, word [ebx + eax*4 + 4]
add eax, ecx
cmp byte [eax + 3], 0x35
jne 0x1002876d
cmp byte [eax + 8], 0x49
jne 0x1002876d
cmp byte [eax + 9], 0
jne 0x1002876d
lea eax, [edx + edx*4]
shl eax, 4
mov dword [esp + eax + 0x1cc], 1
movzx eax, word [edi]
lea eax, [eax + eax*2]
movzx eax, word [ebx + eax*4 + 4]
add eax, ecx
mov cl, byte [eax + 9]
test cl, cl
jne 0x100287cd
cmp byte [eax + 8], 0x49
jne 0x100287cd
mov al, byte [eax + 3]
cmp al, 0x32
je 0x10028796
cmp al, 0x33
je 0x10028796
cmp al, 0x35
jne 0x100287cd
mov ecx, dword [esp + 0x34]
lea eax, [edx + edx*4]
shl eax, 4
mov dword [esp + eax + 0x1d0], ecx
movzx ecx, word [edi]
lea ecx, [ecx + ecx*2]
movzx esi, word [ebx + ecx*4 + 4]
mov ecx, dword [ebp + 0x14]
cmp byte [esi + ecx + 3], 0x34
mov esi, dword [esp + 0x34]
sbb cl, cl
and cl, 0xfd
add cl, 0x35
mov byte [esp + eax + 0x1d4], cl
movzx eax, word [edi]
mov ecx, dword [ebp + 0x14]
lea eax, [eax + eax*2]
movzx eax, word [ebx + eax*4 + 4]
add eax, ecx
cmp byte [eax + 9], 0
jne 0x100287fc
cmp byte [eax + 8], 0x43
jne 0x100287fc
cmp byte [eax + 3], 0x35
jne 0x100287fc
lea eax, [edx + edx*4]
shl eax, 4
mov dword [esp + eax + 0x1dc], esi
movzx eax, word [edi]
lea eax, [eax + eax*2]
movzx eax, word [ebx + eax*4 + 4]
add eax, ecx
cmp byte [eax + 9], 0
jne 0x10028828
cmp byte [eax + 8], 0x49
jne 0x10028828
cmp byte [eax + 3], 0x34
jne 0x10028828
lea eax, [edx + edx*4]
shl eax, 4
mov dword [esp + eax + 0x1e0], esi
movzx eax, word [edi]
lea eax, [eax + eax*2]
movzx eax, word [ebx + eax*4 + 4]
cmp byte [eax + ecx + 8], 0x43
jne 0x1002884b
lea eax, [edx + edx*4]
shl eax, 4
mov dword [esp + eax + 0x1e4], 1
movzx eax, word [edi]
lea eax, [eax + eax*2]
movzx eax, word [ebx + eax*4 + 4]
add eax, ecx
cmp byte [eax + 9], 0
jne 0x10028877
cmp byte [eax + 8], 0x49
jne 0x10028877
cmp byte [eax + 3], 0x32
jne 0x10028877
lea eax, [edx + edx*4]
shl eax, 4
mov dword [esp + eax + 0x1e8], esi
movzx eax, word [edi]
lea eax, [eax + eax*2]
movzx eax, word [ebx + eax*4 + 4]
cmp byte [eax + ecx + 8], 0x43
jne 0x1002889a
lea eax, [edx + edx*4]
shl eax, 4
mov dword [esp + eax + 0x1ec], 1
movzx eax, word [edi]
lea eax, [eax + eax*2]
movzx eax, word [ebx + eax*4 + 4]
add eax, ecx
cmp byte [eax + 8], 0x50
jne 0x100288eb
cmp byte [eax + 9], 1
jne 0x100288eb
lea ecx, [edx + edx*4]
shl ecx, 4
mov dword [esp + ecx + 0x1f0], 1
jmp 0x100288eb
mov edx, dword [esp + 0x30]
jmp 0x1002871f
mov ecx, dword [esp + 0x3c]
test ecx, ecx
jne 0x100288e3
cmp al, 3
je 0x100288df
cmp al, 4
jne 0x100288e3
mov dword [esp + 0x3c], edx
cmp al, 8
jne 0x100288eb
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x34]
movzx edi, word [esp + 0x10]
inc eax
cmp eax, edi
mov dword [esp + 0x34], eax
jl 0x1002867f
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x10028aba
lea edx, [esp + 0x14]
push edx
xor esi, esi
call fcn.1000fc90
mov ecx, dword [esp + 0x1c]
push esi
lea eax, [esp + 0x2c]
push eax
mov eax, dword [ebp + 0x21c]
push esi
push 0x1f4
push ecx
lea edx, [esp + 0xbc]
push edx
push eax
call fcn.1001e630
add esp, 0x1c
test ax, ax
je 0x10028aab
mov ecx, dword [ebp + 0x21c]
mov edx, dword [esp + 0x14]
add ecx, 0x10c
push ecx
push edx
call fcn.10047a30
add esp, 8
cmp eax, 0xf42400
mov dword [esp + 0x28], eax
je 0x10028aab
mov eax, dword [ebp + 0x21c]
push 1
add eax, 0x10c
push eax
lea ecx, [esp + 0x1b0]
push ecx
call fcn.1001a200
lea ebx, [eax + eax*4]
shl ebx, 4
mov eax, dword [esp + ebx + 0x1fc]
lea ebx, [esp + ebx + 0x1fc]
add esp, 0xc
test eax, eax
jne 0x10028aab
mov edx, dword [esp + 0x14]
push edx
call fcn.1001a300
mov eax, dword [esp + 0x18]
mov cl, byte [eax + 0xc]
and cl, 0xe0
add esp, 4
cmp cl, 0x80
jne 0x100289ce
mov esi, 5
mov al, byte [eax + esi + 0xc]
mov dl, al
and dl, 0xe0
cmp dl, 0xc0
jne 0x100289e9
and al, 1
dec al
neg al
sbb eax, eax
inc eax
lea esi, [esi + eax*2 + 5]
mov eax, dword [ebp + 0x34]
mov edx, dword [esp + 0x28]
mov byte [edi + eax], 5
mov ecx, dword [ebp + 0x30]
mov dword [ecx + edi*4], edx
mov eax, dword [ebp + 0x21c]
mov ecx, dword [esp + 0x10]
mov byte [eax], 0xc8
mov edx, dword [ebp + 0x38]
push ecx
mov ecx, dword [esp + 0x18]
xor eax, eax
mov ax, word [edx + edi*2]
push 0
lea edx, [ecx + esi + 0xc]
push eax
push 0xffffffffffffffff
push edx
push 0x20
push ebp
call fcn.10024f50
mov ecx, dword [ebp + 0x14]
movzx esi, ax
movzx eax, word [ebp + 0xe4]
mov byte [eax + ecx + 3], 0x31
movzx edx, word [ebp + 0xe4]
mov eax, dword [ebp + 0x14]
mov byte [edx + eax + 8], 0x50
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 9], 1
movzx eax, word [ebp + 0xe4]
mov ecx, dword [ebp + 0x14]
mov byte [eax + ecx + 0xa], 0x4e
mov edx, dword [ebp + 0x38]
movzx eax, word [edx + edi*2]
mov ecx, dword [ebp + 4]
mov dx, word [ebp + 0xe4]
lea eax, [eax + eax*2]
mov word [ecx + eax*4 + 4], dx
mov eax, dword [esp + 0x5c]
push eax
push edi
push ebp
call fcn.1001a0b0
add word [ebp + 0xe4], si
mov dword [esp + edi*8 + 0x94], eax
mov eax, dword [esp + 0x38]
add esp, 0x28
inc eax
mov dword [esp + 0x10], eax
mov dword [ebx], 1
mov ecx, dword [esp + 0x14]
push ecx
call fcn.1000fce0
jmp 0x10028c8b
lea eax, [esp + 0x1a8]
mov dword [esp + 0x48], 0
mov dword [esp + 0x30], eax
lea ecx, [ecx]
cmp byte [eax], 0
je 0x10028c8b
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x10028c72
movzx ebx, word [esp + 0x10]
xor edi, edi
test ebx, ebx
jle 0x10028b52
mov eax, dword [ebp + 0x34]
cmp byte [eax + edi], 5
je 0x10028b52
mov edx, dword [ebp + 0x38]
movzx eax, word [edx + edi*2]
mov ecx, dword [ebp + 4]
lea eax, [eax + eax*2]
movzx edx, word [ecx + eax*4 + 4]
mov eax, dword [ebp + 0x14]
lea esi, [edx + eax + 0xb]
mov eax, dword [esp + 0x30]
lea esp, [esp]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x10028b44
test cl, cl
je 0x10028b40
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x10028b44
add eax, 2
add esi, 2
test cl, cl
jne 0x10028b20
xor eax, eax
jmp 0x10028b49
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x10028b52
inc edi
cmp edi, ebx
jl 0x10028af3
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + edi*4]
mov dword [eax + ebx*4], ecx
mov edx, dword [ebp + 0x30]
mov eax, dword [esp + 0x28]
cmp eax, dword [edx + edi*4]
je 0x10028b8f
cmp eax, 0xf42400
jne 0x10028b89
mov ecx, dword [ebp + 0x21c]
lea eax, [esp + 0xa8]
push eax
push ecx
call fcn.10047a30
add esp, 8
mov dword [esp + 0x28], eax
mov edx, dword [ebp + 0x30]
mov dword [edx + ebx*4], eax
mov eax, dword [ebp + 0x34]
mov byte [ebx + eax], 4
mov ecx, dword [ebp + 0x38]
movzx ecx, word [ecx + edi*2]
mov eax, dword [ebp + 0x14]
lea edx, [ecx + ecx*2]
mov ecx, dword [ebp + 4]
movzx edx, word [ecx + edx*4 + 4]
movzx edx, byte [edx + eax]
movzx ecx, word [ebp + 0xe4]
mov byte [ecx + eax], dl
movzx eax, word [ebp + 0xe4]
mov ecx, dword [ebp + 0x14]
mov byte [eax + ecx + 1], 4
movzx eax, word [ebp + 0xe4]
mov ecx, dword [ebp + 0x14]
mov byte [eax + ecx + 2], 0x70
mov eax, dword [esp + 0x1c]
mov cl, byte [esp + eax + 0xa7]
cmp cl, 0x61
mov dword [esp + 0x40], edx
je 0x10028bf5
cmp cl, 0x65
mov eax, 0x80
jne 0x10028bfa
mov eax, 0x40
cmp cl, 0x69
je 0x10028c09
cmp cl, 0x65
mov ecx, 8
jne 0x10028c0e
mov ecx, 4
mov esi, dword [ebp + 0x14]
add al, cl
movzx ecx, word [ebp + 0xe4]
mov byte [ecx + esi + 3], al
movzx eax, word [ebp + 0xe4]
mov ecx, dword [ebp + 0x14]
push edx
push ebx
push ebp
mov byte [eax + ecx + 4], 0x61
call fcn.1001a0b0
mov edx, dword [ebp + 0x38]
mov ecx, dword [ebp + 4]
mov dword [esp + ebx*8 + 0x78], eax
movzx eax, word [edx + ebx*2]
mov dx, word [ebp + 0xe4]
lea eax, [eax + eax*2]
mov word [ecx + eax*4 + 4], dx
mov eax, dword [esp + 0x1c]
add word [ebp + 0xe4], 5
add esp, 0xc
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x3c], 1
mov ecx, dword [esp + 0x48]
inc ecx
add eax, 0x50
cmp ecx, 3
mov dword [esp + 0x48], ecx
mov dword [esp + 0x30], eax
jl 0x10028ad0
mov edx, dword [esp + 0x20]
cmp edx, 0xffffffff
jle 0x10028e2d
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x10028e2d
mov ecx, dword [ebp + 0x34]
movzx eax, word [esp + 0x10]
mov byte [eax + ecx], 8
mov ecx, dword [ebp + 0x30]
mov esi, dword [ecx + edx*4]
mov dword [ecx + eax*4], esi
movzx ecx, word [ebp + 0xe4]
mov esi, dword [ebp + 0x14]
mov byte [ecx + esi], 0
movzx ecx, word [ebp + 0xe4]
mov esi, dword [ebp + 0x14]
mov byte [ecx + esi + 1], 8
movzx ecx, word [ebp + 0xe4]
mov esi, dword [ebp + 0x14]
mov byte [ecx + esi + 2], 0
mov esi, dword [ebp + 4]
mov ecx, dword [ebp + 0x14]
lea edx, [edx + edx*2]
movzx edx, word [esi + edx*8 + 4]
mov dl, byte [edx + ecx + 3]
movzx esi, word [ebp + 0xe4]
mov byte [esi + ecx + 3], dl
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 4], 0x33
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 5], 0x75
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 6], 0x6e
mov ecx, dword [ebp + 0x38]
movzx ecx, word [ecx + eax*2]
mov si, word [ebp + 0xe4]
lea edx, [ecx + ecx*2]
mov ecx, dword [ebp + 4]
mov word [ecx + edx*4 + 4], si
mov edx, dword [ebp + 0x34]
mov cl, byte [eax + edx]
cmp cl, 1
je 0x10028e18
cmp cl, 2
je 0x10028e18
cmp cl, 6
je 0x10028e18
movzx ecx, cl
add ecx, 0xfffffffd
cmp ecx, 5
mov edx, 4
ja case.0x10028d7d.6
jmp dword [ecx*4 + 0x1002a1bc]
movzx edx, word [ebp + 0xe4]
mov ecx, dword [ebp + 0x14]
mov dl, byte [edx + ecx + 4]
and dl, 3
sub dl, 2
neg dl
sbb edx, edx
and edx, 0xffff8100
add edx, 0x8004
jmp case.0x10028d7d.6
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
add ecx, edx
cmp byte [ecx + 4], 0x63
je 0x10028dc6
mov edx, 0x204
jmp case.0x10028d7d.6
mov dl, byte [ecx + 2]
and dl, 2
neg dl
sbb edx, edx
and edx, 0x2000
add edx, 0x2004
jmp case.0x10028d7d.6
mov edx, 0x1004
jmp case.0x10028d7d.6
mov ecx, dword [ebp + 0x38]
movzx ecx, word [ecx + eax*2]
lea edx, [ecx + ecx*2]
mov ecx, dword [ebp + 4]
movzx edx, word [ecx + edx*4 + 4]
mov ecx, dword [ebp + 0x14]
xor ebx, ebx
cmp byte [edx + ecx + 8], 0x49
setne bl
dec ebx
and ebx, 0xfffffc00
add ebx, 0x800
or ebx, 4
mov edx, ebx
jmp case.0x10028d7d.6
mov edx, 2
add word [ebp + 0xe4], 7
mov dword [esp + eax*8 + 0x6c], edx
inc dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
cmp esi, 3
jle 0x1002909a
cmp byte [esp + esi + 0xa5], 0x61
jne 0x1002909a
cmp byte [esp + esi + 0xa6], 0x74
jne 0x1002909a
cmp byte [esp + esi + 0xa7], 0x65
jne 0x1002909a
lea edx, [esp + 0xa8]
push edx
lea eax, [esp + 0x29c]
push 0xffffffffffffffff
push eax
call fcn.100396c0
add esp, 0xc
push 0
push 5
push 0
push 0
push 0xffffffffffffffff
lea ecx, [esp + 0x3ac]
push ecx
lea edx, [esp + 0x2b0]
push edx
mov byte [esp + esi + 0x2b2], 0x72
call fcn.10037ea0
cmp eax, 1
jne 0x1002909a
lea esi, [esp + 0xa8]
lea eax, [esp + 0x398]
lea esp, [esp]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x10028ee8
test cl, cl
je 0x10028ee4
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x10028ee8
add eax, 2
add esi, 2
test cl, cl
jne 0x10028ec0
xor eax, eax
jmp 0x10028eed
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1002909a
cmp dword [esp + 0x3c], 1
jne 0x1002909a
push 1
lea eax, [esp + 0x29c]
push eax
lea ecx, [esp + 0x1b0]
xor esi, esi
push ecx
mov dword [esp + 0x3c], esi
call fcn.1001a200
lea edi, [eax + eax*4]
shl edi, 4
mov eax, dword [esp + edi + 0x1d8]
add esp, 0xc
test eax, eax
jne 0x1002909a
lea edx, [esp + 0x3c]
push edx
call fcn.1000fc90
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0x298]
push eax
push ecx
call fcn.10047a30
add esp, 8
cmp eax, 0xf42400
mov dword [esp + 0x28], eax
je 0x10029090
mov edx, dword [esp + 0x3c]
push edx
call fcn.1001a300
mov eax, dword [esp + 0x40]
mov cl, byte [eax + 0xc]
and cl, 0xe0
add esp, 4
cmp cl, 0x80
jne 0x10028f88
mov esi, 5
mov dword [esp + 0x30], esi
mov al, byte [eax + esi + 0xc]
mov dl, al
and dl, 0xe0
cmp dl, 0xc0
jne 0x10028fa7
and al, 1
dec al
neg al
sbb eax, eax
inc eax
lea eax, [esi + eax*2 + 5]
mov dword [esp + 0x30], eax
mov ebx, dword [esp + 0x10]
mov ecx, dword [ebp + 0x34]
mov eax, dword [esp + 0x28]
movzx esi, bx
mov byte [esi + ecx], 5
mov edx, dword [ebp + 0x30]
mov dword [edx + esi*4], eax
mov ecx, dword [ebp + 0x21c]
lea edx, [esp + 0x298]
mov byte [ecx], 0xc8
mov eax, dword [ebp + 0x21c]
push edx
add eax, 0x10c
push 0xffffffffffffffff
push eax
call fcn.100396c0
mov ecx, dword [ebp + 0x38]
mov eax, dword [esp + 0x48]
xor edx, edx
mov dx, word [ecx + esi*2]
mov ecx, dword [esp + 0x3c]
push ebx
push 0
push edx
push 0xffffffffffffffff
lea edx, [eax + ecx + 0xc]
push edx
push 0x20
push ebp
call fcn.10024f50
mov ecx, dword [ebp + 0x14]
movzx ebx, ax
movzx eax, word [ebp + 0xe4]
mov byte [eax + ecx + 3], 0x35
movzx edx, word [ebp + 0xe4]
mov eax, dword [ebp + 0x14]
mov byte [edx + eax + 8], 0x49
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 9], 0
mov eax, dword [ebp + 0x38]
movzx eax, word [eax + esi*2]
mov edx, dword [ebp + 4]
lea ecx, [eax + eax*2]
mov ax, word [ebp + 0xe4]
mov word [edx + ecx*4 + 4], ax
mov ecx, dword [esp + 0x68]
push ecx
push esi
push ebp
call fcn.1001a0b0
add word [ebp + 0xe4], bx
mov dword [esp + esi*8 + 0xa0], eax
mov eax, dword [esp + 0x44]
add esp, 0x34
inc eax
mov byte [esp + edi + 0x1d4], 0x35
mov dword [esp + edi + 0x1cc], 1
mov dword [esp + edi + 0x1d0], esi
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x3c]
push edx
call fcn.1000fce0
lea edi, [esp + 0x1d8]
mov dword [esp + 0x38], 0
mov dword [esp + 0x20], edi
lea ecx, [ecx]
mov cl, byte [edi - 0x30]
test cl, cl
lea eax, [edi - 0x30]
je 0x10029269
cmp dword [edi], 0xffffffff
je 0x10029250
cmp dword [edi - 8], 0xffffffff
jne 0x10029250
push eax
lea eax, [esp + 0x29c]
push 0xffffffffffffffff
push eax
call fcn.100396c0
add esp, 0xc
push 0
push 2
push 0
push 0
push 0xffffffffffffffff
lea ecx, [esp + 0x3ac]
push ecx
lea edx, [esp + 0x2b0]
push edx
call fcn.10037ea0
cmp eax, 1
jne 0x10029250
lea esi, [esp + 0xa8]
lea eax, [esp + 0x398]
lea ebx, [ebx]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x10029148
test cl, cl
je 0x10029144
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x10029148
add eax, 2
add esi, 2
test cl, cl
jne 0x10029120
xor eax, eax
jmp 0x1002914d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10029250
movzx ebx, word [esp + 0x10]
mov eax, dword [ebp + 0x34]
mov ecx, dword [esp + 0x20]
mov byte [ebx + eax], 5
mov edx, dword [ecx]
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + edx*4]
mov dword [eax + ebx*4], edx
mov eax, dword [ecx]
mov ecx, dword [ebp + 0x38]
movzx eax, word [ecx + eax*2]
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 0x14]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
lea esi, [eax + edx]
lea eax, [esi + 0xb]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10029190
sub eax, edi
mov edi, eax
lea eax, [esi + edi + 0xb]
lea ecx, [eax + 1]
mov dword [esp + 0x2c], ecx
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100291a6
sub eax, dword [esp + 0x2c]
lea eax, [edi + eax + 0xc]
movzx edi, word [ebp + 0xe4]
lea ecx, [eax + 1]
add edi, edx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x34], eax
movzx eax, word [ebp + 0xe4]
mov byte [eax + ecx + 3], 0x32
movzx edx, word [ebp + 0xe4]
mov eax, dword [ebp + 0x14]
mov byte [edx + eax + 8], 0x49
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 9], 0
mov eax, dword [ebp + 0x38]
movzx eax, word [eax + ebx*2]
mov edx, dword [ebp + 4]
lea ecx, [eax + eax*2]
mov ax, word [ebp + 0xe4]
mov word [edx + ecx*4 + 4], ax
mov ecx, dword [esp + 0x40]
push ecx
push ebx
push ebp
call fcn.1001a0b0
mov dx, word [esp + 0x40]
add word [ebp + 0xe4], dx
mov edi, dword [esp + 0x2c]
mov dword [esp + ebx*8 + 0x78], eax
mov eax, dword [esp + 0x2c]
mov dword [eax - 8], ebx
mov byte [eax - 4], 0x32
mov eax, dword [esp + 0x1c]
add esp, 0xc
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
inc eax
add edi, 0x50
cmp eax, 3
mov dword [esp + 0x38], eax
mov dword [esp + 0x20], edi
jl 0x100290b0
lea edi, [esp + 0x1d0]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], edi
lea esp, [esp]
mov cl, byte [edi - 0x28]
test cl, cl
lea eax, [edi - 0x28]
je 0x1002943a
cmp dword [edi + 8], 0xffffffff
jne 0x10029421
cmp dword [edi], 0xffffffff
jle 0x10029421
push eax
lea eax, [esp + 0x29c]
push 0xffffffffffffffff
push eax
call fcn.100396c0
xor ecx, ecx
mov cl, byte [edi + 4]
add esp, 0xc
sub cl, 0x30
push 0
lea edx, [esp + 0x39c]
lea eax, [esp + 0x29c]
push ecx
push 0
push 3
push 0xffffffffffffffff
push edx
push eax
call fcn.10037ea0
cmp eax, 1
jne 0x10029421
lea esi, [esp + 0xa8]
lea eax, [esp + 0x398]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x10029319
test cl, cl
je 0x10029315
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x10029319
add eax, 2
add esi, 2
test cl, cl
jne 0x100292f1
xor eax, eax
jmp 0x1002931e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10029421
movzx ebx, word [esp + 0x10]
mov eax, dword [ebp + 0x34]
mov ecx, dword [esp + 0x3c]
mov byte [ebx + eax], 5
mov edx, dword [ecx]
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + edx*4]
mov dword [eax + ebx*4], edx
mov eax, dword [ecx]
mov ecx, dword [ebp + 0x38]
movzx eax, word [ecx + eax*2]
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 0x14]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
lea esi, [eax + edx]
lea eax, [esi + 0xb]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10029361
sub eax, edi
mov edi, eax
lea eax, [esi + edi + 0xb]
lea ecx, [eax + 1]
mov dword [esp + 0x2c], ecx
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10029377
sub eax, dword [esp + 0x2c]
lea eax, [edi + eax + 0xc]
movzx edi, word [ebp + 0xe4]
add edi, edx
lea ecx, [eax + 1]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [esp + 0x3c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dl, byte [edx + 4]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x34], eax
movzx eax, word [ebp + 0xe4]
mov byte [eax + ecx + 3], dl
movzx eax, word [ebp + 0xe4]
mov ecx, dword [ebp + 0x14]
mov byte [eax + ecx + 8], 0x4d
movzx edx, word [ebp + 0xe4]
mov eax, dword [ebp + 0x14]
mov byte [edx + eax + 9], 0
mov ecx, dword [ebp + 0x38]
movzx eax, word [ecx + ebx*2]
mov cx, word [ebp + 0xe4]
lea edx, [eax + eax*2]
mov eax, dword [ebp + 4]
mov word [eax + edx*4 + 4], cx
mov edx, dword [esp + 0x40]
push edx
push ebx
push ebp
call fcn.1001a0b0
mov ecx, dword [esp + 0x48]
mov dword [esp + ebx*8 + 0x78], eax
mov ax, word [esp + 0x40]
add word [ebp + 0xe4], ax
mov eax, dword [esp + 0x1c]
add esp, 0xc
inc eax
mov dword [ecx + 8], ebx
mov dword [esp + 0x10], eax
mov edi, ecx
mov eax, dword [esp + 0x38]
inc eax
add edi, 0x50
cmp eax, 3
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edi
jl 0x10029280
lea edi, [esp + 0x1dc]
mov dword [esp + 0x38], 0
mov dword [esp + 0x20], edi
lea ecx, [ecx]
mov al, byte [edi - 0x34]
test al, al
lea esi, [edi - 0x34]
je 0x10029655
cmp dword [edi - 4], 0xffffffff
jne 0x1002963c
mov eax, dword [edi]
cmp eax, 0xffffffff
jle 0x1002963c
mov edx, dword [ebp + 0x38]
movzx eax, word [edx + eax*2]
mov ecx, dword [ebp + 4]
lea eax, [eax + eax*2]
movzx edx, word [ecx + eax*4 + 4]
mov eax, dword [ebp + 0x14]
lea ecx, [edx + eax + 0xb]
push ecx
lea edx, [esp + 0x29c]
push 0xffffffffffffffff
push edx
call fcn.100396c0
add esp, 0xc
lea eax, [esp + 0x298]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x100294ce
test cl, cl
je 0x100294ca
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x100294ce
add eax, 2
add esi, 2
test cl, cl
jne 0x100294a6
xor eax, eax
jmp 0x100294d3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1002963c
push eax
push 5
push eax
push 3
push 0xffffffffffffffff
lea eax, [esp + 0x3ac]
push eax
lea ecx, [esp + 0x2b0]
push ecx
call fcn.10037ea0
cmp eax, 1
jne 0x1002963c
lea esi, [esp + 0xa8]
lea eax, [esp + 0x398]
nop
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x10029538
test cl, cl
je 0x10029534
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x10029538
add eax, 2
add esi, 2
test cl, cl
jne 0x10029510
xor eax, eax
jmp 0x1002953d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1002963c
movzx ebx, word [esp + 0x10]
mov eax, dword [ebp + 0x34]
mov ecx, dword [esp + 0x20]
mov byte [ebx + eax], 5
mov edx, dword [ecx]
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + edx*4]
mov dword [eax + ebx*4], edx
mov eax, dword [ecx]
mov ecx, dword [ebp + 0x38]
movzx eax, word [ecx + eax*2]
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 0x14]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
lea esi, [eax + edx]
lea eax, [esi + 0xb]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10029580
sub eax, edi
mov edi, eax
lea eax, [esi + edi + 0xb]
lea ecx, [eax + 1]
mov dword [esp + 0x2c], ecx
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10029596
sub eax, dword [esp + 0x2c]
lea eax, [edi + eax + 0xc]
movzx edi, word [ebp + 0xe4]
lea ecx, [eax + 1]
add edi, edx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x34], eax
movzx eax, word [ebp + 0xe4]
mov byte [eax + ecx + 3], 0x35
movzx edx, word [ebp + 0xe4]
mov eax, dword [ebp + 0x14]
mov byte [edx + eax + 8], 0x4d
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 9], 0
mov eax, dword [ebp + 0x38]
movzx eax, word [eax + ebx*2]
mov edx, dword [ebp + 4]
lea ecx, [eax + eax*2]
mov ax, word [ebp + 0xe4]
mov word [edx + ecx*4 + 4], ax
mov ecx, dword [esp + 0x40]
push ecx
push ebx
push ebp
call fcn.1001a0b0
mov dx, word [esp + 0x40]
add word [ebp + 0xe4], dx
mov edi, dword [esp + 0x2c]
mov dword [esp + ebx*8 + 0x78], eax
mov eax, dword [esp + 0x2c]
mov dword [eax - 4], ebx
mov eax, dword [esp + 0x1c]
add esp, 0xc
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
inc eax
add edi, 0x50
cmp eax, 3
mov dword [esp + 0x38], eax
mov dword [esp + 0x20], edi
jl 0x10029450
lea edi, [esp + 0x1e0]
mov dword [esp + 0x38], 0
mov dword [esp + 0x20], edi
jmp 0x10029670
mov al, byte [edi - 0x38]
test al, al
je 0x10029851
mov eax, dword [edi + 4]
test eax, eax
jne 0x10029838
mov eax, dword [edi]
cmp eax, 0xffffffff
jle 0x10029838
mov ecx, dword [ebp + 0x38]
movzx eax, word [ecx + eax*2]
lea edx, [eax + eax*2]
mov eax, dword [ebp + 4]
movzx ecx, word [eax + edx*4 + 4]
mov edx, dword [ebp + 0x14]
lea eax, [ecx + edx + 0xb]
push eax
lea ecx, [esp + 0x29c]
push 0xffffffffffffffff
push ecx
call fcn.100396c0
mov ecx, dword [ebp + 0x38]
mov eax, dword [edi]
movzx eax, word [ecx + eax*2]
add esp, 0xc
push 0
push 4
push 0
push 1
push 0xffffffffffffffff
lea edx, [esp + 0x3ac]
push edx
lea edx, [eax + eax*2]
mov eax, dword [ebp + 4]
movzx ecx, word [eax + edx*4 + 4]
mov edx, dword [ebp + 0x14]
lea eax, [ecx + edx + 0xb]
push eax
call fcn.10037ea0
cmp eax, 1
jne 0x10029838
lea esi, [esp + 0xa8]
lea eax, [esp + 0x398]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x1002972f
test cl, cl
je 0x1002972b
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x1002972f
add eax, 2
add esi, 2
test cl, cl
jne 0x10029707
xor eax, eax
jmp 0x10029734
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10029838
movzx ebx, word [esp + 0x10]
mov eax, dword [ebp + 0x34]
mov ecx, dword [esp + 0x20]
mov byte [ebx + eax], 5
mov edx, dword [ecx]
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + edx*4]
mov dword [eax + ebx*4], edx
mov eax, dword [ecx]
mov ecx, dword [ebp + 0x38]
movzx eax, word [ecx + eax*2]
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 0x14]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
lea esi, [eax + edx]
lea eax, [esi + 0xb]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10029777
sub eax, edi
mov edi, eax
lea eax, [esi + edi + 0xb]
lea ecx, [eax + 1]
mov dword [esp + 0x2c], ecx
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10029790
sub eax, dword [esp + 0x2c]
lea eax, [edi + eax + 0xc]
movzx edi, word [ebp + 0xe4]
lea ecx, [eax + 1]
add edi, edx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x34], eax
movzx eax, word [ebp + 0xe4]
mov byte [eax + ecx + 3], 0x34
movzx edx, word [ebp + 0xe4]
mov eax, dword [ebp + 0x14]
mov byte [edx + eax + 8], 0x43
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 9], 0
mov eax, dword [ebp + 0x38]
movzx eax, word [eax + ebx*2]
mov edx, dword [ebp + 4]
lea ecx, [eax + eax*2]
mov ax, word [ebp + 0xe4]
mov word [edx + ecx*4 + 4], ax
mov ecx, dword [esp + 0x40]
push ecx
push ebx
push ebp
call fcn.1001a0b0
mov dx, word [esp + 0x40]
add word [ebp + 0xe4], dx
mov dword [esp + ebx*8 + 0x78], eax
mov eax, dword [esp + 0x1c]
add esp, 0xc
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
mov dword [eax + 4], 1
mov edi, eax
mov eax, dword [esp + 0x38]
inc eax
add edi, 0x50
cmp eax, 3
mov dword [esp + 0x38], eax
mov dword [esp + 0x20], edi
jl 0x10029670
lea edi, [esp + 0x1e8]
mov dword [esp + 0x38], 0
mov dword [esp + 0x20], edi
mov cl, byte [edi - 0x40]
test cl, cl
lea eax, [edi - 0x40]
je 0x10029a01
mov ecx, dword [edi + 4]
test ecx, ecx
jne 0x100299e8
cmp dword [edi], 0xffffffff
jle 0x100299e8
push 0
push 7
push 0
push 1
push 0xffffffffffffffff
lea ecx, [esp + 0x3ac]
push ecx
push eax
call fcn.10037ea0
cmp eax, 1
jne 0x100299e8
lea esi, [esp + 0xa8]
lea eax, [esp + 0x398]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x100298dd
test cl, cl
je 0x100298d9
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x100298dd
add eax, 2
add esi, 2
test cl, cl
jne 0x100298b5
xor eax, eax
jmp 0x100298e2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x100299e8
movzx ebx, word [esp + 0x10]
mov eax, dword [ebp + 0x34]
mov ecx, dword [esp + 0x20]
mov byte [ebx + eax], 5
mov edx, dword [ecx]
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + edx*4]
mov dword [eax + ebx*4], edx
mov eax, dword [ecx]
mov ecx, dword [ebp + 0x38]
movzx eax, word [ecx + eax*2]
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 0x14]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
lea esi, [eax + edx]
lea eax, [esi + 0xb]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10029925
sub eax, edi
mov edi, eax
lea eax, [esi + edi + 0xb]
lea ecx, [eax + 1]
mov dword [esp + 0x2c], ecx
jmp 0x10029940
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10029940
sub eax, dword [esp + 0x2c]
lea eax, [edi + eax + 0xc]
movzx edi, word [ebp + 0xe4]
lea ecx, [eax + 1]
add edi, edx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x34], eax
movzx eax, word [ebp + 0xe4]
mov byte [eax + ecx + 3], 0x37
movzx edx, word [ebp + 0xe4]
mov eax, dword [ebp + 0x14]
mov byte [edx + eax + 8], 0x43
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 9], 0
mov eax, dword [ebp + 0x38]
movzx eax, word [eax + ebx*2]
mov edx, dword [ebp + 4]
lea ecx, [eax + eax*2]
mov ax, word [ebp + 0xe4]
mov word [edx + ecx*4 + 4], ax
mov ecx, dword [esp + 0x40]
push ecx
push ebx
push ebp
call fcn.1001a0b0
mov dx, word [esp + 0x40]
add word [ebp + 0xe4], dx
mov dword [esp + ebx*8 + 0x78], eax
mov eax, dword [esp + 0x1c]
add esp, 0xc
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
mov dword [eax + 4], 1
mov edi, eax
mov eax, dword [esp + 0x38]
inc eax
add edi, 0x50
cmp eax, 3
mov dword [esp + 0x38], eax
mov dword [esp + 0x20], edi
jl 0x10029864
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x890]
test eax, eax
je 0x10029d36
push 1
push 0x3e8
lea ecx, [esp + 0x4a0]
push ecx
lea edx, [esp + 0xb4]
push edx
call fcn.1003ad00
add esp, 0x10
test al, al
jne 0x10029b9b
mov ecx, dword [ebp + 0x34]
movzx eax, bx
mov byte [eax + ecx], 3
mov edx, dword [ebp + 0x30]
mov dword [edx + eax*4], 0x989680
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx], 0
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 1], 0xc0
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 2], 0x80
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 3], 1
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 4], 2
mov ecx, dword [ebp + 0x38]
movzx ecx, word [ecx + eax*2]
mov si, word [ebp + 0xe4]
lea edx, [ecx + ecx*2]
mov ecx, dword [ebp + 4]
mov word [ecx + edx*4 + 4], si
mov edx, dword [ebp + 0x34]
mov dl, byte [eax + edx]
xor ecx, ecx
cmp dl, 1
je 0x10029b85
cmp dl, 2
je 0x10029b85
cmp dl, 6
je 0x10029b85
movzx edx, dl
add edx, 0xfffffffd
cmp edx, 5
ja case.0x10029ae4.6
jmp dword [edx*4 + 0x1002a1d4]
movzx edx, word [ebp + 0xe4]
mov ecx, dword [ebp + 0x14]
mov cl, byte [edx + ecx + 4]
and cl, 3
sub cl, 2
neg cl
sbb ecx, ecx
and ecx, 0xffff8100
add ecx, 0x8000
jmp case.0x10029ae4.6
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
add ecx, edx
cmp byte [ecx + 4], 0x63
je 0x10029b30
mov ecx, 0x200
jmp case.0x10029ae4.6
mov cl, byte [ecx + 2]
and cl, 2
neg cl
sbb ecx, ecx
and ecx, 0x2000
add ecx, 0x2000
jmp case.0x10029ae4.6
mov ecx, 0x1000
jmp case.0x10029ae4.6
mov ecx, dword [ebp + 0x38]
movzx ecx, word [ecx + eax*2]
lea edx, [ecx + ecx*2]
mov ecx, dword [ebp + 4]
movzx edx, word [ecx + edx*4 + 4]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x2c], eax
xor eax, eax
cmp byte [edx + ecx + 8], 0x49
setne al
dec eax
and eax, 0xfffffc00
add eax, 0x800
mov ecx, eax
mov eax, dword [esp + 0x2c]
jmp case.0x10029ae4.6
mov ecx, 2
add word [ebp + 0xe4], 5
inc ebx
mov dword [esp + eax*8 + 0x6c], ecx
mov dword [esp + 0x10], ebx
mov edi, dword [esp + 0x1c]
xor esi, esi
test edi, edi
jle 0x10029bd3
jmp 0x10029bb0
movzx edx, byte [esp + esi + 0xa8]
push edx
push str.0123456789._
call fcn.10049330
add esp, 8
test eax, eax
je 0x10029d36
inc esi
cmp esi, edi
jl 0x10029bb0
mov ecx, dword [ebp + 0x34]
movzx eax, bx
mov byte [eax + ecx], 4
mov edx, dword [ebp + 0x30]
mov dword [edx + eax*4], 0x989680
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx], 0
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 1], 0x80
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 2], 0x82
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 3], 2
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 4], 0x63
mov ecx, dword [ebp + 0x38]
movzx ecx, word [ecx + eax*2]
mov si, word [ebp + 0xe4]
lea edx, [ecx + ecx*2]
mov ecx, dword [ebp + 4]
mov word [ecx + edx*4 + 4], si
mov edx, dword [ebp + 0x34]
mov dl, byte [eax + edx]
xor ecx, ecx
cmp dl, 1
je 0x10029d20
cmp dl, 2
je 0x10029d20
cmp dl, 6
je 0x10029d20
movzx edx, dl
add edx, 0xfffffffd
cmp edx, 5
ja case.0x10029c7c.6
jmp dword [edx*4 + 0x1002a1ec]
movzx edx, word [ebp + 0xe4]
mov ecx, dword [ebp + 0x14]
mov cl, byte [edx + ecx + 4]
and cl, 3
sub cl, 2
neg cl
sbb ecx, ecx
and ecx, 0xffff8100
add ecx, 0x8000
jmp case.0x10029c7c.6
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
add ecx, edx
cmp byte [ecx + 4], 0x63
je 0x10029cc8
mov ecx, 0x200
jmp case.0x10029c7c.6
mov cl, byte [ecx + 2]
and cl, 2
neg cl
sbb ecx, ecx
and ecx, 0x2000
add ecx, 0x2000
jmp case.0x10029c7c.6
mov ecx, 0x1000
jmp case.0x10029c7c.6
mov ecx, dword [ebp + 0x38]
movzx ecx, word [ecx + eax*2]
lea edx, [ecx + ecx*2]
mov ecx, dword [ebp + 4]
movzx edx, word [ecx + edx*4 + 4]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x2c], eax
xor eax, eax
cmp byte [edx + ecx + 8], 0x49
setne al
dec eax
and eax, 0xfffffc00
add eax, 0x800
mov ecx, eax
mov eax, dword [esp + 0x2c]
jmp case.0x10029c7c.6
mov ecx, 2
add word [ebp + 0xe4], 5
inc ebx
mov dword [esp + eax*8 + 0x6c], ecx
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x894]
test eax, eax
je 0x10029fcd
cmp word [esp + 0x10], 1
jbe 0x10029fcd
movzx ecx, word [esp + 0x10]
xor ebx, ebx
xor eax, eax
test ecx, ecx
jle 0x10029d69
mov edi, edi
mov dword [esp + eax*8 + 0x68], eax
inc eax
cmp eax, ecx
jl 0x10029d60
dec ecx
mov dword [esp + 0x2c], ecx
mov edi, edi
mov eax, dword [esp + 0x2c]
xor edx, edx
test eax, eax
mov edi, 1
jle 0x10029dc4
mov esi, dword [esp + edx*8 + 0x74]
mov eax, 1
mov dword [esp + 0x1c], eax
mov ecx, esi
and ecx, eax
jbe 0x10029da0
test dword [esp + edx*8 + 0x6c], eax
je 0x10029e45
test ecx, ecx
jne 0x10029daa
test dword [esp + edx*8 + 0x6c], eax
ja 0x10029db3
shl eax, 1
cmp eax, 0x8000
jle 0x10029d90
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x2c]
inc edx
cmp edx, eax
jl 0x10029d83
test edi, edi
je 0x10029d70
test ebx, ebx
je 0x10029fcd
movzx ecx, word [ebp + 0xe4]
mov esi, dword [ebp + 0x14]
lea edx, [esi + ecx]
mov eax, ecx
shr ecx, 2
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
movzx esi, word [esp + 0x10]
xor eax, eax
test esi, esi
mov dword [esp + 0x2c], edx
jle 0x10029e2e
xor edi, edi
lea ebx, [ebx]
mov ecx, dword [ebp + 0x34]
mov bl, byte [ecx + eax]
add ecx, eax
mov byte [ecx + 7], bl
mov ecx, dword [ebp + 0x30]
mov ebx, dword [ecx + eax*4]
mov dword [ecx + eax*4 + 0x1c], ebx
mov ecx, dword [ebp + 4]
mov bx, word [ecx + edi + 4]
add ecx, edi
inc eax
add edi, 0x18
cmp eax, esi
mov word [ecx + 0xac], bx
jl 0x10029e00
xor ebx, ebx
cmp esi, ebx
mov dword [esp + 0x44], ebx
jle 0x10029fcd
mov dword [esp + 0x30], ebx
jmp 0x10029e95
mov dword [esp + 0x1c], eax
mov eax, dword [esp + edx*8 + 0x68]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + edx*8 + 0x6c]
mov dword [esp + 0xa4], ecx
mov eax, dword [esp + edx*8 + 0x70]
mov ecx, dword [esp + edx*8 + 0x74]
mov dword [esp + edx*8 + 0x68], eax
mov dword [esp + edx*8 + 0x6c], ecx
mov eax, dword [esp + 0xa0]
mov dword [esp + edx*8 + 0x70], eax
mov ecx, dword [esp + 0xa4]
mov dword [esp + edx*8 + 0x74], ecx
xor edi, edi
mov ebx, 1
jmp 0x10029db7
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + ebx*8 + 0x68]
mov ecx, dword [ebp + 0x34]
movzx ecx, byte [eax + ecx + 7]
dec ecx
cmp ecx, 7
mov esi, 5
ja case.default.0x10029eb0
jmp dword [ecx*4 + 0x1002a204]
mov dword [esp + 0x1c], 4
jmp case.default.0x10029eb0
mov dword [esp + 0x1c], esi
jmp case.default.0x10029eb0
mov dword [esp + 0x1c], 7
jmp case.default.0x10029eb0
mov ecx, dword [esp + 0x44]
cmp byte [edx + ecx + 4], 0x61
mov dword [esp + 0x1c], esi
jne case.default.0x10029eb0
mov esi, dword [ebp + 4]
lea ecx, [eax + eax*2]
movzx ecx, word [esi + ecx*8 + 4]
lea esi, [ecx + edx]
lea ecx, [esi + 5]
lea edi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x10029f01
sub ecx, edi
mov edi, ecx
lea edx, [esi + edi + 6]
lea esi, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x10029f13
sub edx, esi
lea edx, [edi + edx + 7]
jmp 0x10029f55
mov esi, dword [ebp + 4]
lea ecx, [eax + eax*2]
movzx ecx, word [esi + ecx*8 + 4]
lea esi, [ecx + edx]
lea ecx, [esi + 0xb]
lea edi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x10029f36
sub ecx, edi
mov edi, ecx
lea edx, [esi + edi + 0xc]
lea esi, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x10029f48
sub edx, esi
lea edx, [edi + edx + 0xd]
mov dword [esp + 0x1c], edx
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x44]
mov esi, dword [esp + 0x30]
mov word [esi + ecx + 4], dx
mov edi, dword [ebp + 4]
mov ecx, dword [esp + 0x1c]
lea esi, [eax + eax*2]
movzx esi, word [edi + esi*8 + 0xac]
add esi, dword [esp + 0x2c]
mov edi, dword [ebp + 0x14]
add edi, edx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x34]
mov dl, byte [ecx + eax + 7]
mov edi, dword [esp + 0x44]
mov byte [ecx + ebx], dl
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + eax*4 + 0x1c]
mov edx, dword [esp + 0x30]
mov dword [ecx + ebx*4], eax
mov ecx, dword [esp + 0x1c]
movzx eax, word [esp + 0x10]
add edi, ecx
inc ebx
add edx, 0x18
cmp ebx, eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x30], edx
jl 0x10029e91
mov eax, dword [esp + 0x10]
test ax, ax
je 0x10029fe4
lea edx, [eax - 1]
dec eax
mov word [ebp + 0x26], dx
mov word [ebp + 0x2a], ax
jmp 0x10029ff0
mov word [ebp + 0x26], 0
mov word [ebp + 0x2a], 0xffff
movsx eax, word [ebp + 0x2a]
mov ecx, dword [esp + 0x880]
pop edi
pop esi
pop ebp
pop ebx
call fcn.10049461
add esp, 0x874
ret 0x10