Function at 0x434100
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x200
push esi
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0x50], 0
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 0x78]
mov dword [ebp - 4], ecx
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + 0x7c]
mov dword [ebp - 0x104], eax
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x154], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0xc8], 0
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx]
mov eax, dword [edx + 0x28]
mov dword [ebp - 0x28], eax
xor ecx, ecx
mov word [ebp - 0x14], cx
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x98], 0
mov edx, dword [ebp + 0xc]
and edx, 0x80000
je 0x4341ad
mov dword [ebp - 0x108], 1
jmp 0x4341b7
mov dword [ebp - 0x108], 0
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp + 0xc]
and ecx, 4
je 0x4341d4
mov dword [ebp - 0x10c], 1
jmp 0x4341de
mov dword [ebp - 0x10c], 0
mov edx, dword [ebp - 0x10c]
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0x24], 0
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 0x20]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x19c], 0
mov edx, dword [ebp - 0x28]
and edx, 8
je 0x434232
mov eax, dword [ebp - 4]
mov dword [eax], 0x80090000
mov ecx, dword [ebp - 4]
add ecx, 4
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
mov dword [edx], 0x801a0000
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
jmp 0x43425e
mov ecx, dword [ebp - 0x28]
and ecx, 4
je 0x43425e
mov edx, dword [ebp - 4]
mov dword [edx], 0x80180005
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
mov dword [ecx], 0x801a0000
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
mov eax, dword [ebp + 0xc]
and eax, 0x2000000
je 0x4344c5
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 0x10]
jae 0x4344c0
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 0x104]
jb 0x43428f
mov dword [ebp - 0xc], 0xa3
jmp 0x43834e
mov eax, dword [ebp + 8]
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 8], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
cmp dword [ebp - 0x3c], 0
je 0x434475
cmp dword [ebp - 8], 0xc0
jb 0x434475
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x4342ee
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x434475
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x434332
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 0
mov eax, dword [ebp + 8]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp + 8]
add eax, 2
mov dword [ebp + 8], eax
jmp 0x434475
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x43438c
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 0
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp + 8]
add edx, 3
mov dword [ebp + 8], edx
jmp 0x434475
mov eax, dword [ebp - 8]
and eax, 4
jne 0x4343fa
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
shl edx, 0
mov eax, dword [ebp + 8]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp + 8]
add ecx, 4
mov dword [ebp + 8], ecx
jmp 0x434475
mov edx, dword [ebp - 8]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, 1
shl eax, 0
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 2
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp + 8]
add ecx, 5
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x9c], 0
je 0x4344a3
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp - 0x9c]
push ecx
lea edx, [ebp - 0x50]
push edx
mov eax, dword [ebp - 0xa0]
push eax
call fcn.00433ee0
add esp, 0x14
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov dword [ecx], edx
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
mov dword [ebp - 0x24], 1
jmp 0x43426c
jmp 0x4382a2
mov dword [ebp - 0x18], 0
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + 0x14]
mov eax, dword [ebp + 0x14]
add edx, dword [eax + 0x28]
mov dword [ebp - 0x94], edx
mov ecx, dword [ebp + 0x14]
mov eax, dword [ecx + 0x28]
xor edx, edx
mov ecx, 0x10
div ecx
mov eax, dword [ebp - 0x94]
sub eax, edx
mov dword [ebp - 0x94], eax
mov ecx, dword [ebp + 0xc]
and ecx, 0x1000000
je 0x434512
mov edx, dword [ebp + 0xc]
or edx, 0x80
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0x10]
jae 0x438285
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x15c], 0
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0x104]
jb 0x434549
mov dword [ebp - 0xc], 0xa3
jmp 0x43834e
movzx edx, word [ebp - 0x14]
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
cmp edx, dword [ecx + 0x24]
jbe 0x434563
mov dword [ebp - 0xc], 0x77
jmp 0x43834e
mov edx, dword [ebp - 0xa4]
cmp edx, dword [ebp - 4]
je 0x434583
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x154], eax
mov ecx, dword [ebp - 4]
mov dword [ebp - 0xa4], ecx
mov edx, dword [ebp + 8]
mov dword [ebp - 0xa0], edx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0x3c], 0
je 0x434769
cmp dword [ebp - 8], 0xc0
jb 0x434769
mov eax, dword [ebp - 8]
and eax, 0x20
jne 0x4345e2
mov ecx, dword [ebp - 8]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x434769
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x434626
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp + 8]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp + 8]
add edx, 2
mov dword [ebp + 8], edx
jmp 0x434769
mov eax, dword [ebp - 8]
and eax, 8
jne 0x434680
mov ecx, dword [ebp - 8]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 0
mov eax, dword [ebp + 8]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp + 8]
add ecx, 3
mov dword [ebp + 8], ecx
jmp 0x434769
mov edx, dword [ebp - 8]
and edx, 4
jne 0x4346ee
mov eax, dword [ebp - 8]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp + 8]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
add eax, 4
mov dword [ebp + 8], eax
jmp 0x434769
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, 1
shl edx, 0
mov eax, dword [ebp + 8]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp + 8]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp + 8]
add eax, 5
mov dword [ebp + 8], eax
cmp dword [ebp - 0x5c], 0
je 0x43483c
cmp dword [ebp - 8], 0x5c
jne 0x4347a1
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 0x10]
jae 0x4347a1
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
cmp eax, 0x45
jne 0x4347a1
mov dword [ebp - 0x5c], 0
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x434837
cmp dword [ebp - 0x68], 0
jle 0x4347bc
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
mov dword [ebp - 0xc], 0x80
jmp 0x43834e
cmp dword [ebp - 0x98], 0
je 0x4347d8
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
mov dword [eax], ecx
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
jmp 0x434830
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x1d0], eax
mov ecx, dword [ebp - 0x64]
sub ecx, 1
mov dword [ebp - 0x64], ecx
cmp dword [ebp - 0x1d0], 0
jg 0x434818
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp - 0x9c]
push ecx
lea edx, [ebp - 0x50]
push edx
mov eax, dword [ebp - 0xa0]
push eax
call fcn.00433ee0
add esp, 0x14
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov dword [ecx], edx
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x58], 0
jmp 0x434512
cmp dword [ebp - 0x98], 0
je 0x434a39
mov ecx, dword [ebp + 0xc]
and ecx, 0x400080
cmp ecx, 0x400080
jne 0x4348b8
cmp dword [ebp - 8], 0xff
jbe 0x43487e
mov edx, dword [ebp - 8]
or edx, 1
cmp edx, 0x200f
je 0x43487e
mov eax, dword [ebp - 8]
or eax, 1
cmp eax, 0x2029
jne 0x4348b8
cmp dword [ebp - 8], 0x100
jae 0x434a39
cmp dword [ebp - 8], 0x23
je 0x434a39
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + 0x10]
mov eax, dword [ebp - 8]
movzx ecx, byte [edx + eax]
and ecx, 1
jne 0x434a39
cmp dword [ebp - 8], 0x85
je 0x434a39
mov edx, dword [ebp - 8]
mov dword [ebp - 0x110], edx
cmp dword [ebp - 0x110], 0x29
je 0x4348ed
cmp dword [ebp - 0x110], 0x5c
je 0x43496f
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
mov dword [eax], ecx
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
jmp 0x434a34
mov dword [ebp - 0x98], 0
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 0xe8]
sar eax, 2
sub eax, 1
mov dword [ebp - 0x1d4], eax
mov ecx, dword [ebp + 8]
sub ecx, dword [ebp - 0x19c]
sub ecx, 1
cmp ecx, 0xff
jle 0x434935
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
mov dword [ebp - 0xc], 0xb0
jmp 0x43834e
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x1d4]
mov dword [eax], ecx
cmp dword [ebp - 0xc8], 0
je 0x43496a
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0xc8]
mov dword [edx], eax
mov ecx, dword [ebp - 4]
add ecx, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0xc8], 0
jmp 0x434a34
mov edx, dword [ebp + 0xc]
and edx, 0x400000
je 0x4349b0
mov eax, dword [ebp + 0x14]
push eax
push 0
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0xc]
push eax
lea ecx, [ebp - 8]
push ecx
mov edx, dword [ebp - 0x10]
push edx
lea eax, [ebp + 8]
push eax
call fcn.004306f0
add esp, 0x20
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0xc], 0
je 0x4349ae
jmp 0x43834e
jmp 0x4349b7
mov dword [ebp - 0x20], 0
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x114], ecx
cmp dword [ebp - 0x114], 0x1d
ja case.0x4349d6.1
mov edx, dword [ebp - 0x114]
movzx eax, byte [edx + 0x438390]
jmp dword [eax*4 + 0x43837c]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov dword [ecx], edx
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
jmp 0x434a34
mov ecx, dword [ebp - 4]
mov dword [ecx], 0x75
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
mov dword [eax], 0x7b
mov ecx, dword [ebp - 4]
add ecx, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0x24], 1
jmp 0x434a34
mov dword [ebp - 0x5c], 1
jmp 0x434a34
jmp 0x434a34
mov dword [ebp - 0xc], 0x8c
jmp 0x43834e
jmp 0x434512
cmp dword [ebp - 8], 0x5c
jne 0x434a95
mov edx, dword [ebp + 8]
cmp edx, dword [ebp - 0x10]
jae 0x434a95
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
cmp ecx, 0x51
je 0x434a5d
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
cmp eax, 0x45
jne 0x434a95
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x51
jne 0x434a74
mov dword [ebp - 0x118], 1
jmp 0x434a7e
mov dword [ebp - 0x118], 0
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x434512
mov edx, dword [ebp + 0xc]
and edx, 0x80
je 0x434c45
cmp dword [ebp - 8], 0x100
jae 0x434ac4
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 8]
movzx eax, byte [ecx + edx]
and eax, 1
je 0x434ac4
jmp 0x434512
cmp dword [ebp - 8], 0x85
je 0x434ae9
mov ecx, dword [ebp - 8]
or ecx, 1
cmp ecx, 0x200f
je 0x434ae9
mov edx, dword [ebp - 8]
or edx, 1
cmp edx, 0x2029
jne 0x434aee
jmp 0x434512
cmp dword [ebp - 8], 0x23
jne 0x434c45
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0x10]
jae 0x434c40
mov ecx, dword [ebp + 0x14]
cmp dword [ecx + 0x8c], 0
je 0x434b6e
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x20]
jae 0x434b56
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp + 0x14]
add edx, 0x90
push edx
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 0x20]
push ecx
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + 0x8c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00475e60
add esp, 0x14
test eax, eax
je 0x434b56
mov dword [ebp - 0x11c], 1
jmp 0x434b60
mov dword [ebp - 0x11c], 0
mov edx, dword [ebp - 0x11c]
mov dword [ebp - 0x124], edx
jmp 0x434beb
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x14]
mov edx, dword [eax + 0x20]
sub edx, dword [ecx + 0x90]
cmp dword [ebp + 8], edx
ja 0x434bd5
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov edx, 1
imul eax, edx, 0
mov edx, dword [ebp + 0x14]
movzx eax, byte [edx + eax + 0x9c]
cmp ecx, eax
jne 0x434bd5
mov ecx, dword [ebp + 0x14]
cmp dword [ecx + 0x90], 1
je 0x434bc9
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp + 0x14]
movzx ecx, byte [edx + ecx + 0x9c]
cmp eax, ecx
jne 0x434bd5
mov dword [ebp - 0x120], 1
jmp 0x434bdf
mov dword [ebp - 0x120], 0
mov edx, dword [ebp - 0x120]
mov dword [ebp - 0x124], edx
cmp dword [ebp - 0x124], 0
je 0x434c05
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 8]
add ecx, dword [eax + 0x90]
mov dword [ebp + 8], ecx
jmp 0x434c40
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0x3c], 0
je 0x434c3b
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0x10]
jae 0x434c3b
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0xc0
cmp edx, 0x80
jne 0x434c3b
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x434c14
jmp 0x434af8
jmp 0x434512
cmp dword [ebp - 8], 0x28
jne 0x434cbe
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp + 8]
cmp ecx, 2
jl 0x434cbe
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + eax]
cmp edx, 0x3f
jne 0x434cbe
mov eax, 1
shl eax, 0
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + eax]
cmp edx, 0x23
jne 0x434cbe
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 0x10]
jae 0x434c9c
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
cmp eax, 0x29
je 0x434c9c
jmp 0x434c7e
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 0x10]
jb 0x434cb0
mov dword [ebp - 0xc], 0x76
jmp 0x43834e
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x434512
cmp dword [ebp - 8], 0x2a
je 0x434d41
cmp dword [ebp - 8], 0x2b
je 0x434d41
cmp dword [ebp - 8], 0x3f
je 0x434d41
cmp dword [ebp - 8], 0x7b
jne 0x434cf8
mov eax, dword [ebp + 8]
mov dword [ebp - 0x54], eax
lea ecx, [ebp - 0xc]
push ecx
push 0
push 0
mov edx, dword [ebp - 0x10]
push edx
lea eax, [ebp - 0x54]
push eax
call fcn.00432f20
add esp, 0x14
test eax, eax
jne 0x434d41
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x1d8], ecx
mov edx, dword [ebp - 0x64]
sub edx, 1
mov dword [ebp - 0x64], edx
cmp dword [ebp - 0x1d8], 0
jg 0x434d41
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp - 0x9c]
push edx
lea eax, [ebp - 0x50]
push eax
mov ecx, dword [ebp - 0xa0]
push ecx
call fcn.00433ee0
add esp, 0x14
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
mov dword [ebp - 0xa4], edx
cmp dword [ebp - 0x68], 0
jle 0x434ee3
cmp dword [ebp - 8], 0x28
jne 0x434d90
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp + 8]
cmp eax, 3
jl 0x434d90
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx]
cmp ecx, 0x3f
je 0x434d84
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + eax]
cmp edx, 0x2a
jne 0x434d90
mov dword [ebp - 0x128], 1
jmp 0x434d9a
mov dword [ebp - 0x128], 0
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
je 0x434ec8
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx]
cmp ecx, 0x2a
jne 0x434e0c
mov edx, 1
test edx, edx
je 0x434df4
mov eax, 1
shl eax, 0
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + eax]
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 0x10]
movzx edx, byte [ecx + edx]
and edx, 4
je 0x434df4
mov dword [ebp - 0x12c], 1
jmp 0x434dfe
mov dword [ebp - 0x12c], 0
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x74], eax
jmp 0x434ec8
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp + 8]
movzx eax, byte [edx + ecx]
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0xa8]
sub ecx, 0x21
mov dword [ebp - 0xa8], ecx
cmp dword [ebp - 0xa8], 0x22
ja case.0x434e4a.1
mov edx, dword [ebp - 0xa8]
movzx eax, byte [edx + 0x4383c0]
jmp dword [eax*4 + 0x4383b0]
cmp dword [ebp - 0x68], 2
jne 0x434e63
mov dword [ebp - 0x130], 1
jmp 0x434e6d
mov dword [ebp - 0x130], 0
mov ecx, dword [ebp - 0x130]
mov dword [ebp - 0x74], ecx
jmp 0x434ec8
jmp 0x434ec8
mov edx, 1
shl edx, 1
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx]
cmp ecx, 0x3d
je 0x434eac
mov edx, 1
shl edx, 1
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx]
cmp ecx, 0x21
je 0x434eac
mov dword [ebp - 0x134], 0
jmp 0x434eb6
mov dword [ebp - 0x134], 1
mov edx, dword [ebp - 0x134]
mov dword [ebp - 0x74], edx
jmp 0x434ec8
mov dword [ebp - 0x74], 0
cmp dword [ebp - 0x74], 0
jne 0x434ee3
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [ebp + 8], eax
mov dword [ebp - 0xc], 0x80
jmp 0x43834e
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0xfc], ecx
mov dword [ebp - 0x68], 0
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x1e0], edx
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x58], 0
cmp dword [ebp - 0xe0], 0
je 0x434f83
cmp dword [ebp - 8], 0x3f
je 0x434f28
cmp dword [ebp - 8], 0x2b
jne 0x434f83
cmp dword [ebp - 8], 0x3f
jne 0x434f3a
mov dword [ebp - 0x138], 0x20000
jmp 0x434f44
mov dword [ebp - 0x138], 0x10000
cmp dword [ebp - 0xe0], 0x803d0000
jne 0x434f5c
mov dword [ebp - 0x13c], 0xfffffffd
jmp 0x434f66
mov dword [ebp - 0x13c], 0xffffffff
mov ecx, dword [ebp - 0xe0]
add ecx, dword [ebp - 0x138]
mov edx, dword [ebp - 0x13c]
mov eax, dword [ebp - 4]
mov dword [eax + edx*4], ecx
jmp 0x434512
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 0xac]
sub edx, 0x24
mov dword [ebp - 0xac], edx
cmp dword [ebp - 0xac], 0x58
ja case.0x434fb1.1
mov eax, dword [ebp - 0xac]
movzx ecx, byte [eax + 0x438418]
jmp dword [ecx*4 + 0x4383e4]
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov dword [edx], eax
mov ecx, dword [ebp - 4]
add ecx, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0x24], 1
jmp 0x438280
mov edx, dword [ebp + 8]
mov dword [ebp - 0x54], edx
mov eax, dword [ebp + 0x14]
push eax
push 0
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0xc]
push eax
lea ecx, [ebp - 8]
push ecx
mov edx, dword [ebp - 0x10]
push edx
lea eax, [ebp + 8]
push eax
call fcn.004306f0
add esp, 0x20
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0xc], 0
je 0x435219
mov ecx, dword [ebp - 0x28]
and ecx, 2
jne 0x43501b
jmp 0x43834e
mov edx, dword [ebp - 0x54]
mov dword [ebp + 8], edx
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0x10]
jb 0x435035
mov dword [ebp - 8], 0x5c
jmp 0x435212
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 8], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
cmp dword [ebp - 0x3c], 0
je 0x435212
cmp dword [ebp - 8], 0xc0
jb 0x435212
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x43508b
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x435212
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x4350cf
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 0
mov eax, dword [ebp + 8]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp + 8]
add eax, 2
mov dword [ebp + 8], eax
jmp 0x435212
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x435129
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 0
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp + 8]
add edx, 3
mov dword [ebp + 8], edx
jmp 0x435212
mov eax, dword [ebp - 8]
and eax, 4
jne 0x435197
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
shl edx, 0
mov eax, dword [ebp + 8]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp + 8]
add ecx, 4
mov dword [ebp + 8], ecx
jmp 0x435212
mov edx, dword [ebp - 8]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, 1
shl eax, 0
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 2
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp + 8]
add ecx, 5
mov dword [ebp + 8], ecx
mov dword [ebp - 0x20], 0
cmp dword [ebp - 0x20], 0
jne 0x43523c
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov dword [edx], eax
mov ecx, dword [ebp - 4]
add ecx, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0x24], 1
jmp 0x43561a
cmp dword [ebp - 0x20], 0
jge 0x4352af
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 8]
sub eax, dword [edx + 0x1c]
sub eax, 1
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x20]
neg ecx
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
or edx, 0x80030000
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, dword [ebp - 4]
add ecx, 4
mov dword [ebp - 4], ecx
cmp dword [ebp - 0x20], 0xa
jge 0x435292
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp + 0x14]
cmp dword [eax + edx*4 + 0x2c], 0xffffffff
jne 0x435290
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x30]
mov dword [edx + ecx*4 + 0x2c], eax
jmp 0x4352a3
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x30]
mov dword [ecx], edx
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
mov dword [ebp - 0x24], 1
jmp 0x43561a
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0xb0], ecx
mov edx, dword [ebp - 0xb0]
sub edx, 6
mov dword [ebp - 0xb0], edx
cmp dword [ebp - 0xb0], 0x17
ja case.0x4352da.7
mov eax, dword [ebp - 0xb0]
jmp dword [eax*4 + 0x438474]
mov ecx, dword [ebp + 0xc]
and ecx, 0x100000
je 0x4352f8
mov dword [ebp - 0xc], 0xb7
jmp 0x43500e
mov dword [ebp - 0x24], 1
mov edx, dword [ebp - 0x20]
sub edx, 0x7fe80000
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, dword [ebp - 4]
add ecx, 4
mov dword [ebp - 4], ecx
jmp 0x43561a
mov edx, dword [ebp - 4]
mov dword [edx], 0x75
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
mov dword [ecx], 0x7b
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
mov dword [ebp - 0x24], 1
jmp 0x43561a
mov dword [ebp - 0x24], 1
mov eax, dword [ebp - 0x20]
sub eax, 0x7fe80000
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
jmp 0x43561a
mov eax, dword [ebp - 0x20]
sub eax, 0x7fe80000
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
jmp 0x43561a
mov dword [ebp - 0x24], 1
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp - 0x20]
push eax
call fcn.00433fc0
add esp, 0x10
mov dword [ebp - 4], eax
jmp 0x43561a
xor ecx, ecx
mov word [ebp - 0x80], cx
xor edx, edx
mov word [ebp - 0x84], dx
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 0xc]
push ecx
lea edx, [ebp - 0x84]
push edx
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x1dc]
push ecx
lea edx, [ebp + 8]
push edx
call fcn.004332c0
add esp, 0x18
test eax, eax
jne 0x4353ed
jmp 0x43500e
cmp dword [ebp - 0x1dc], 0
je 0x43541b
cmp dword [ebp - 0x20], 0xf
jne 0x435408
mov dword [ebp - 0x140], 0x10
jmp 0x435412
mov dword [ebp - 0x140], 0xf
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
sub ecx, 0x7fe80000
mov edx, dword [ebp - 4]
mov dword [edx], ecx
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
movzx ecx, word [ebp - 0x80]
shl ecx, 0x10
movzx edx, word [ebp - 0x84]
or ecx, edx
mov eax, dword [ebp - 4]
mov dword [eax], ecx
mov ecx, dword [ebp - 4]
add ecx, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0x24], 1
jmp 0x43561a
mov edx, dword [ebp + 8]
cmp edx, dword [ebp - 0x10]
jae 0x435485
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
cmp ecx, 0x7b
je 0x4354af
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
cmp eax, 0x3c
je 0x4354af
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x27
je 0x4354af
cmp dword [ebp - 0x20], 0x1b
jne 0x435497
mov dword [ebp - 0x144], 0x9d
jmp 0x4354a1
mov dword [ebp - 0x144], 0xa9
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0xc], eax
jmp 0x43500e
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x3c
jne 0x4354c6
mov dword [ebp - 0x14c], 0x3e
jmp 0x4354f3
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
cmp ecx, 0x27
jne 0x4354dd
mov dword [ebp - 0x148], 0x27
jmp 0x4354e7
mov dword [ebp - 0x148], 0x7d
mov edx, dword [ebp - 0x148]
mov dword [ebp - 0x14c], edx
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x20], 0x1b
jne 0x435586
cmp dword [ebp - 0x40], 0x7d
je 0x435586
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp - 0xb4], ecx
lea edx, [ebp - 0xc]
push edx
lea eax, [ebp - 0x1c]
push eax
push 0xa1
push 0xffff
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + 0x70]
push edx
mov eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp - 0xb4]
push ecx
call fcn.00432dc0
add esp, 0x1c
test eax, eax
je 0x43557b
mov edx, dword [ebp - 0xb4]
cmp edx, dword [ebp - 0x10]
jae 0x435561
mov eax, dword [ebp - 0xb4]
movzx ecx, byte [eax]
cmp ecx, dword [ebp - 0x40]
je 0x43556d
mov dword [ebp - 0xc], 0x9d
jmp 0x43500e
mov edx, dword [ebp - 0xb4]
mov dword [ebp + 8], edx
jmp 0x437406
cmp dword [ebp - 0xc], 0
je 0x435586
jmp 0x43500e
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 0xc]
push ecx
lea edx, [ebp - 0x2c]
push edx
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x30]
push ecx
mov edx, dword [ebp - 0x40]
push edx
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
lea edx, [ebp + 8]
push edx
call fcn.00433860
add esp, 0x24
test eax, eax
jne 0x4355bb
jmp 0x43500e
cmp dword [ebp - 0x20], 0x1c
je 0x4355d3
cmp dword [ebp - 0x40], 0x7d
je 0x4355d3
mov dword [ebp - 0x150], 0x80210000
jmp 0x4355dd
mov dword [ebp - 0x150], 0x80040000
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x150]
mov dword [eax], ecx
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x2c]
mov dword [eax], ecx
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x30]
mov dword [eax], ecx
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
mov dword [ebp - 0x24], 1
jmp 0x438280
mov eax, dword [ebp - 4]
mov dword [eax], 0x80090000
mov ecx, dword [ebp - 4]
add ecx, 4
mov dword [ebp - 4], ecx
jmp 0x438280
mov edx, dword [ebp - 4]
mov dword [edx], 0x80160000
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
jmp 0x438280
mov ecx, dword [ebp - 4]
mov dword [ecx], 0x80170000
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
mov dword [ebp - 0x24], 1
jmp 0x438280
mov dword [ebp - 0x58], 0x80340000
jmp 0x4356db
mov dword [ebp - 0x58], 0x80370000
jmp 0x4356db
mov dword [ebp - 0x58], 0x803a0000
jmp 0x4356db
lea eax, [ebp - 0xc]
push eax
lea ecx, [ebp - 0x15c]
push ecx
lea edx, [ebp - 0x158]
push edx
mov eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp + 8]
push ecx
call fcn.00432f20
add esp, 0x14
test eax, eax
jne 0x4356d4
cmp dword [ebp - 0xc], 0
je 0x4356b7
jmp 0x43834e
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov dword [edx], eax
mov ecx, dword [ebp - 4]
add ecx, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0x24], 1
jmp 0x438280
mov dword [ebp - 0x58], 0x803d0000
cmp dword [ebp - 0x1e0], 0
jne 0x4356f0
mov dword [ebp - 0xc], 0x6d
jmp 0x438362
mov edx, dword [ebp - 0x154]
cmp dword [edx], 0x802a0000
jne 0x435774
mov eax, dword [ebp - 4]
sub eax, 4
mov dword [ebp - 0x90], eax
jmp 0x43571b
mov ecx, dword [ebp - 0x90]
sub ecx, 4
mov dword [ebp - 0x90], ecx
mov edx, dword [ebp - 0x90]
cmp edx, dword [ebp - 0xe4]
jb 0x43574d
mov eax, 4
imul ecx, eax, 0
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 0x90]
mov esi, dword [ebp - 0x90]
mov ecx, dword [esi + ecx]
mov dword [eax + edx], ecx
jmp 0x43570c
mov edx, dword [ebp - 0xe4]
mov dword [edx], 0x801a0000
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + eax], 0x80190000
mov edx, dword [ebp - 4]
add edx, 8
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x58]
mov dword [eax], ecx
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
cmp dword [ebp - 8], 0x7b
jne 0x4357b3
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x158]
mov dword [eax], ecx
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x15c]
mov dword [eax], ecx
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
jmp 0x438280
mov dword [ebp - 0x24], 1
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp + 8]
cmp eax, 6
jl 0x4358c8
push 6
push 0x4e72a4
mov ecx, dword [ebp + 8]
push ecx
call fcn.004767d0
add esp, 0xc
test eax, eax
je 0x435800
push 6
push str._:_:__
mov edx, dword [ebp + 8]
push edx
call fcn.004767d0
add esp, 0xc
test eax, eax
jne 0x4358c8
mov eax, dword [ebp - 4]
mov dword [eax], 0x80180005
mov ecx, dword [ebp - 4]
add ecx, 4
mov dword [ebp - 4], ecx
mov edx, 1
shl edx, 1
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx]
cmp ecx, 0x3c
jne 0x435839
mov edx, dword [ebp - 4]
mov dword [edx], 0x80230000
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
jmp 0x435866
mov ecx, dword [ebp - 4]
mov dword [ecx], 0x80250000
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
mov eax, dword [ebp + 0x10]
mov dword [eax], 1
mov ecx, dword [ebp - 4]
mov dword [ecx], 0
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
mov eax, dword [ebp + 0xc]
and eax, 0x20000
jne 0x435884
mov ecx, dword [ebp - 4]
mov dword [ecx], 0x8018000b
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
jmp 0x4358a8
mov eax, dword [ebp - 4]
mov dword [eax], 0x80180010
mov ecx, dword [ebp - 4]
add ecx, 4
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
mov dword [edx], 0x90000
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
mov dword [ecx], 0x80190000
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
mov eax, dword [ebp + 8]
add eax, 6
mov dword [ebp + 8], eax
jmp 0x438280
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 0x10]
jae 0x43594b
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
cmp eax, 0x3a
je 0x4358f1
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x2e
je 0x4358f1
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
cmp ecx, 0x3d
jne 0x43594b
lea edx, [ebp - 0x54]
push edx
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00433700
add esp, 0xc
test eax, eax
je 0x43594b
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x1e4], eax
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x1e4], 0x3a
jne 0x435933
mov dword [ebp - 0x160], 0x70
jmp 0x43593d
mov dword [ebp - 0x160], 0x71
mov edx, dword [ebp - 0x160]
mov dword [ebp - 0xc], edx
jmp 0x43834e
mov dword [ebp - 0xb8], 0
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0x10]
jae 0x435bd2
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 8], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
cmp dword [ebp - 0x3c], 0
je 0x435b3e
cmp dword [ebp - 8], 0xc0
jb 0x435b3e
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x4359b7
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x435b3e
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x4359fb
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 0
mov eax, dword [ebp + 8]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp + 8]
add eax, 2
mov dword [ebp + 8], eax
jmp 0x435b3e
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x435a55
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 0
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp + 8]
add edx, 3
mov dword [ebp + 8], edx
jmp 0x435b3e
mov eax, dword [ebp - 8]
and eax, 4
jne 0x435ac3
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
shl edx, 0
mov eax, dword [ebp + 8]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp + 8]
add ecx, 4
mov dword [ebp + 8], ecx
jmp 0x435b3e
mov edx, dword [ebp - 8]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, 1
shl eax, 0
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 2
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp + 8]
add ecx, 5
mov dword [ebp + 8], ecx
cmp dword [ebp - 8], 0x5c
jne 0x435b93
mov edx, dword [ebp + 8]
cmp edx, dword [ebp - 0x10]
jae 0x435b62
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
cmp ecx, 0x45
jne 0x435b62
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x435b91
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp + 8]
cmp eax, 3
jl 0x435b8f
push 3
push 0x4e72b4
mov ecx, dword [ebp + 8]
push ecx
call fcn.004767d0
add esp, 0xc
test eax, eax
jne 0x435b8f
mov edx, dword [ebp + 8]
add edx, 3
mov dword [ebp + 8], edx
jmp 0x435b91
jmp 0x435bd2
jmp 0x435bcd
mov eax, dword [ebp + 0xc]
and eax, 0x1000000
je 0x435bb0
cmp dword [ebp - 8], 0x20
je 0x435ba9
cmp dword [ebp - 8], 9
jne 0x435bb0
jmp 0x435955
cmp dword [ebp - 0xb8], 0
jne 0x435bcb
cmp dword [ebp - 8], 0x5e
jne 0x435bcb
mov dword [ebp - 0xb8], 1
jmp 0x435bcd
jmp 0x435bd2
jmp 0x435955
cmp dword [ebp - 8], 0x5d
jne 0x435c1b
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + 0x68]
and edx, 1
je 0x435c1b
cmp dword [ebp - 0xb8], 0
je 0x435bf8
mov dword [ebp - 0x164], 0x800c0000
jmp 0x435c02
mov dword [ebp - 0x164], 0x800b0000
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x164]
mov dword [eax], ecx
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
jmp 0x438280
cmp dword [ebp - 0xb8], 0
je 0x435c30
mov dword [ebp - 0x168], 0x800e0000
jmp 0x435c3a
mov dword [ebp - 0x168], 0x800a0000
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x168]
mov dword [eax], ecx
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
mov dword [ebp - 0x48], 0
mov dword [ebp - 0xc0], 1
cmp dword [ebp - 0x5c], 0
je 0x435c98
cmp dword [ebp - 8], 0x5c
jne 0x435c93
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0x10]
jae 0x435c93
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x45
jne 0x435c93
mov dword [ebp - 0x5c], 0
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x436498
jmp 0x435f7c
mov ecx, dword [ebp + 0xc]
and ecx, 0x1000000
je 0x435cb4
cmp dword [ebp - 8], 0x20
je 0x435caf
cmp dword [ebp - 8], 9
jne 0x435cb4
jmp 0x436498
cmp dword [ebp - 8], 0x5b
jne 0x435f2a
mov edx, dword [ebp - 0x10]
sub edx, dword [ebp + 8]
cmp edx, 3
jl 0x435f2a
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
cmp ecx, 0x3a
je 0x435cf2
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
cmp eax, 0x2e
je 0x435cf2
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x3d
jne 0x435f2a
lea eax, [ebp - 0x54]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00433700
add esp, 0xc
test eax, eax
je 0x435f2a
mov dword [ebp - 0xbc], 0
cmp dword [ebp - 0x48], 1
jne 0x435d2a
mov dword [ebp - 0xc], 0x96
jmp 0x43834e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
cmp ecx, 0x3a
je 0x435d41
mov dword [ebp - 0xc], 0x71
jmp 0x438362
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
cmp ecx, 0x5e
jne 0x435d68
mov dword [ebp - 0xbc], 1
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp - 0x54]
sub eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004337e0
add esp, 8
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
jge 0x435d90
mov dword [ebp - 0xc], 0x82
jmp 0x43834e
mov edx, dword [ebp - 0x54]
add edx, 2
mov dword [ebp + 8], edx
mov eax, dword [ebp - 0x10]
sub eax, 1
cmp dword [ebp + 8], eax
jae 0x435dcf
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x2d
jne 0x435dcf
mov eax, 1
shl eax, 0
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + eax]
cmp edx, 0x5d
je 0x435dcf
mov dword [ebp - 0xc], 0x96
jmp 0x43834e
mov dword [ebp - 0x48], 0
mov eax, dword [ebp + 0xc]
and eax, 0x20000
je 0x435ee1
mov ecx, dword [ebp - 0x28]
and ecx, 0x800
jne 0x435ee1
mov edx, dword [ebp - 0x28]
and edx, 0x1000
je 0x435e12
cmp dword [ebp - 0x78], 7
je 0x435ee1
cmp dword [ebp - 0x78], 0xd
je 0x435ee1
mov eax, dword [ebp - 0x78]
shl eax, 1
mov ecx, dword [eax*4 + 0x4e7200]
mov dword [ebp - 0x170], ecx
mov edx, dword [ebp - 0x78]
shl edx, 1
mov eax, dword [edx*4 + 0x4e7204]
mov dword [ebp - 0x174], eax
cmp dword [ebp - 0x170], 0
jl 0x435e9a
cmp dword [ebp - 0xbc], 0
je 0x435e54
mov dword [ebp - 0x16c], 0xf
jmp 0x435e5e
mov dword [ebp - 0x16c], 0x10
mov ecx, dword [ebp - 0x16c]
sub ecx, 0x7fe80000
mov edx, dword [ebp - 4]
mov dword [edx], ecx
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x170]
shl ecx, 0x10
or ecx, dword [ebp - 0x174]
mov edx, dword [ebp - 4]
mov dword [edx], ecx
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
jmp 0x436498
cmp dword [ebp - 0x174], 0
je 0x435ee1
cmp dword [ebp - 0xbc], 0
je 0x435eb8
mov dword [ebp - 0x178], 0x12
jmp 0x435ec2
mov dword [ebp - 0x178], 0x13
mov ecx, dword [ebp - 0x178]
sub ecx, 0x7fe80000
mov edx, dword [ebp - 4]
mov dword [edx], ecx
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
jmp 0x436498
cmp dword [ebp - 0xbc], 0
je 0x435ef6
mov dword [ebp - 0x17c], 0x801d0000
jmp 0x435f00
mov dword [ebp - 0x17c], 0x801c0000
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x17c]
mov dword [ecx], edx
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x78]
mov dword [ecx], edx
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
jmp 0x436498
cmp dword [ebp - 8], 0x2d
jne 0x435f72
cmp dword [ebp - 0x48], 2
jb 0x435f72
cmp dword [ebp - 0x48], 3
jne 0x435f48
mov dword [ebp - 0x180], 0x801f0000
jmp 0x435f52
mov dword [ebp - 0x180], 0x801e0000
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x180]
mov dword [ecx], edx
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
mov dword [ebp - 0x48], 1
jmp 0x436498
cmp dword [ebp - 8], 0x5c
je 0x43605a
cmp dword [ebp - 0x48], 1
jne 0x436015
mov ecx, 4
imul edx, ecx, 0xfffffffe
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
cmp ecx, dword [eax + edx]
jne 0x435fa4
mov edx, dword [ebp - 4]
sub edx, 4
mov dword [ebp - 4], edx
jmp 0x43600c
mov eax, 4
imul ecx, eax, 0xfffffffe
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx]
cmp eax, dword [ebp - 8]
jbe 0x435fc5
mov dword [ebp - 0xc], 0x6c
jmp 0x438362
cmp dword [ebp - 0xc0], 0
jne 0x435ff4
mov ecx, 4
imul edx, ecx, 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + edx], 0x801f0000
jne 0x435ff4
mov ecx, 4
imul edx, ecx, 0xffffffff
mov eax, dword [ebp - 4]
mov dword [eax + edx], 0x801e0000
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov dword [ecx], edx
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x48], 0
jmp 0x436055
cmp dword [ebp - 0xc0], 0
je 0x43602a
mov dword [ebp - 0x184], 3
jmp 0x436034
mov dword [ebp - 0x184], 2
mov ecx, dword [ebp - 0x184]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov dword [edx], eax
mov ecx, dword [ebp - 4]
add ecx, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0x24], 1
jmp 0x436498
mov edx, dword [ebp + 8]
mov dword [ebp - 0x54], edx
mov eax, dword [ebp + 0x14]
push eax
push 1
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0xc]
push eax
lea ecx, [ebp - 8]
push ecx
mov edx, dword [ebp - 0x10]
push edx
lea eax, [ebp + 8]
push eax
call fcn.004306f0
add esp, 0x20
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0xc], 0
je 0x43629e
mov ecx, dword [ebp - 0x28]
and ecx, 2
jne 0x4360a0
jmp 0x43834e
mov edx, dword [ebp - 0x54]
mov dword [ebp + 8], edx
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0x10]
jb 0x4360ba
mov dword [ebp - 8], 0x5c
jmp 0x436297
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 8], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
cmp dword [ebp - 0x3c], 0
je 0x436297
cmp dword [ebp - 8], 0xc0
jb 0x436297
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x436110
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x436297
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x436154
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 0
mov eax, dword [ebp + 8]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp + 8]
add eax, 2
mov dword [ebp + 8], eax
jmp 0x436297
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x4361ae
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 0
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp + 8]
add edx, 3
mov dword [ebp + 8], edx
jmp 0x436297
mov eax, dword [ebp - 8]
and eax, 4
jne 0x43621c
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
shl edx, 0
mov eax, dword [ebp + 8]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp + 8]
add ecx, 4
mov dword [ebp + 8], ecx
jmp 0x436297
mov edx, dword [ebp - 8]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, 1
shl eax, 0
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 2
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp + 8]
add ecx, 5
mov dword [ebp + 8], ecx
mov dword [ebp - 0x20], 0
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x188], edx
cmp dword [ebp - 0x188], 0x1a
ja case.0x4362bd.1
mov eax, dword [ebp - 0x188]
movzx ecx, byte [eax + 0x4384ec]
jmp dword [ecx*4 + 0x4384d4]
mov dword [ebp - 0xc0], 0
jmp 0x435f7c
mov dword [ebp - 8], 8
mov dword [ebp - 0xc0], 0
jmp 0x435f7c
mov dword [ebp - 0x5c], 1
jmp 0x436498
jmp 0x436498
mov dword [ebp - 0xc], 0x6b
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
jmp 0x43834e
cmp dword [ebp - 0x48], 1
jne 0x436321
mov dword [ebp - 0xc], 0x96
jmp 0x43834e
mov dword [ebp - 0x48], 0
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0xc4]
sub ecx, 6
mov dword [ebp - 0xc4], ecx
cmp dword [ebp - 0xc4], 0xf
ja case.0x436353.7
mov edx, dword [ebp - 0xc4]
jmp dword [edx*4 + 0x438508]
mov dword [ebp - 0xc], 0xab
jmp 0x43834e
mov eax, dword [ebp - 0x20]
sub eax, 0x7fe80000
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
jmp 0x436462
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp - 0x20]
push eax
call fcn.00433fc0
add esp, 0x10
mov dword [ebp - 4], eax
jmp 0x436462
xor ecx, ecx
mov word [ebp - 0x88], cx
xor edx, edx
mov word [ebp - 0x8c], dx
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 0xc]
push ecx
lea edx, [ebp - 0x8c]
push edx
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x1e8]
push ecx
lea edx, [ebp + 8]
push edx
call fcn.004332c0
add esp, 0x18
test eax, eax
jne 0x4363e5
jmp 0x43834e
cmp dword [ebp - 0x1e8], 0
je 0x436413
cmp dword [ebp - 0x20], 0xf
jne 0x436400
mov dword [ebp - 0x18c], 0x10
jmp 0x43640a
mov dword [ebp - 0x18c], 0xf
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
sub ecx, 0x7fe80000
mov edx, dword [ebp - 4]
mov dword [edx], ecx
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
movzx ecx, word [ebp - 0x88]
shl ecx, 0x10
movzx edx, word [ebp - 0x8c]
or ecx, edx
mov eax, dword [ebp - 4]
mov dword [eax], ecx
mov ecx, dword [ebp - 4]
add ecx, 4
mov dword [ebp - 4], ecx
jmp 0x436462
mov dword [ebp - 0xc], 0x6b
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
jmp 0x43834e
mov eax, dword [ebp - 0x10]
sub eax, 1
cmp dword [ebp + 8], eax
jae 0x436498
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x2d
jne 0x436498
mov eax, 1
shl eax, 0
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + eax]
cmp edx, 0x5d
je 0x436498
mov dword [ebp - 0xc], 0x96
jmp 0x43834e
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0x10]
jb 0x4364ac
mov dword [ebp - 0xc], 0x6a
jmp 0x43834e
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 8], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
cmp dword [ebp - 0x3c], 0
je 0x436689
cmp dword [ebp - 8], 0xc0
jb 0x436689
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x436502
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x436689
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x436546
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 0
mov eax, dword [ebp + 8]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp + 8]
add eax, 2
mov dword [ebp + 8], eax
jmp 0x436689
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x4365a0
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 0
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp + 8]
add edx, 3
mov dword [ebp + 8], edx
jmp 0x436689
mov eax, dword [ebp - 8]
and eax, 4
jne 0x43660e
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
shl edx, 0
mov eax, dword [ebp + 8]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp + 8]
add ecx, 4
mov dword [ebp + 8], ecx
jmp 0x436689
mov edx, dword [ebp - 8]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, 1
shl eax, 0
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 2
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp + 8]
add ecx, 5
mov dword [ebp + 8], ecx
cmp dword [ebp - 8], 0x5d
jne 0x436697
cmp dword [ebp - 0x5c], 0
jne 0x436697
jmp 0x43669c
jmp 0x435c55
cmp dword [ebp - 0x48], 1
jne 0x4366bb
mov edx, 4
imul eax, edx, 0xffffffff
mov ecx, dword [ebp - 4]
mov dword [ecx + eax], 0x2d
mov dword [ebp - 0x48], 0
mov edx, dword [ebp - 4]
mov dword [edx], 0x800d0000
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
jmp 0x438280
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 0x10]
jb 0x4366df
jmp 0x438347
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
cmp eax, 0x3f
je 0x436c8c
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x2a
je 0x43676a
mov ax, word [ebp - 0x14]
add ax, 1
mov word [ebp - 0x14], ax
mov ecx, dword [ebp + 0xc]
and ecx, 0x2000
jne 0x436753
mov edx, dword [ebp + 0x14]
cmp dword [edx + 0x70], 0xffff
jb 0x436728
mov dword [ebp - 0xc], 0xc5
jmp 0x43834e
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 0x70]
add ecx, 1
mov edx, dword [ebp + 0x14]
mov dword [edx + 0x70], ecx
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 0x70]
or ecx, 0x80080000
mov edx, dword [ebp - 4]
mov dword [edx], ecx
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
jmp 0x436765
mov ecx, dword [ebp - 4]
mov dword [ecx], 0x801a0000
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
jmp 0x436c87
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp + 8]
cmp eax, 1
jle 0x43678d
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp + 8]
movzx eax, byte [edx + ecx]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x29
jne 0x436797
jmp 0x438280
cmp dword [ebp - 8], 0xff
ja 0x436a4b
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + 0x10]
mov eax, dword [ebp - 8]
movzx ecx, byte [edx + eax]
and ecx, 4
je 0x436a4b
mov dword [ebp - 0x60], 0x4b5038
mov edx, dword [ebp + 0x14]
push edx
lea eax, [ebp - 0xc]
push eax
lea ecx, [ebp - 0x2c]
push ecx
lea edx, [ebp - 0x44]
push edx
lea eax, [ebp - 0x30]
push eax
push 0
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp - 0x10]
push edx
lea eax, [ebp + 8]
push eax
call fcn.00433860
add esp, 0x24
test eax, eax
jne 0x4367f4
jmp 0x43834e
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 0x10]
jae 0x436807
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
cmp eax, 0x3a
je 0x436813
mov dword [ebp - 0xc], 0xc3
jmp 0x43834e
mov dword [ebp - 0x1c], 0
jmp 0x436825
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
cmp edx, dword [0x4b510c]
jge 0x43686f
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [eax*8 + 0x4b5110]
jne 0x436859
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.004767d0
add esp, 0xc
test eax, eax
jne 0x436859
jmp 0x43686f
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx*8 + 0x4b5110]
mov ecx, dword [ebp - 0x60]
lea edx, [ecx + eax + 1]
mov dword [ebp - 0x60], edx
jmp 0x43681c
mov eax, dword [ebp - 0x1c]
cmp eax, dword [0x4b510c]
jl 0x436886
mov dword [ebp - 0xc], 0xc3
jmp 0x43834e
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx*8 + 0x4b5114]
mov dword [ebp - 0x70], edx
cmp dword [ebp - 0xfc], 0
jle 0x4368e4
cmp dword [ebp - 0x70], 0x80230000
jb 0x4368ae
cmp dword [ebp - 0x70], 0x80260000
jbe 0x4368e4
cmp dword [ebp - 0x70], 0x80270000
je 0x4368cc
cmp dword [ebp - 0x70], 0x80280000
je 0x4368cc
mov dword [ebp - 0x190], 0x80
jmp 0x4368d6
mov dword [ebp - 0x190], 0xc6
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0xc], eax
jmp 0x43834e
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x4c], ecx
cmp dword [ebp - 0x4c], 0x80250000
ja 0x436931
cmp dword [ebp - 0x4c], 0x80250000
je 0x436980
cmp dword [ebp - 0x4c], 0x80230000
ja 0x436926
cmp dword [ebp - 0x4c], 0x80230000
je 0x436971
cmp dword [ebp - 0x4c], 0x80020000
je 0x43696c
cmp dword [ebp - 0x4c], 0x80220000
je 0x43699f
jmp 0x436960
cmp dword [ebp - 0x4c], 0x80240000
je 0x43697b
jmp 0x436960
cmp dword [ebp - 0x4c], 0x80280000
ja 0x436957
cmp dword [ebp - 0x4c], 0x80280000
je 0x436980
cmp dword [ebp - 0x4c], 0x80260000
je 0x436980
cmp dword [ebp - 0x4c], 0x80270000
je 0x436976
jmp 0x436960
cmp dword [ebp - 0x4c], 0x8fff0000
je 0x43699f
mov dword [ebp - 0xc], 0xbd
jmp 0x43834e
jmp case.0x436cd3.29
jmp case.0x436cd3.28
jmp case.0x436cd3.9
jmp case.0x436cd3.0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x70]
mov dword [edx], eax
mov ecx, dword [ebp - 4]
add ecx, 4
mov dword [ebp - 4], ecx
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
jmp 0x437db0
mov eax, dword [ebp - 4]
mov dword [eax], 0x80220000
mov ecx, dword [ebp - 4]
add ecx, 4
mov dword [ebp - 4], ecx
mov dx, word [ebp - 0x14]
add dx, 1
mov word [ebp - 0x14], dx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
cmp dword [ebp - 0x70], 0x8fff0000
jne 0x436a46
mov ecx, dword [ebp - 4]
mov dword [ecx], 0x80020000
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
cmp dword [ebp - 0x18], 0
jne 0x4369f2
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x18], ecx
jmp 0x436a12
mov edx, dword [ebp - 0x18]
add edx, 0x10
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x94]
jb 0x436a12
mov dword [ebp - 0xc], 0xb8
jmp 0x43834e
mov ecx, dword [ebp - 0x18]
mov dx, word [ebp - 0x14]
mov word [ecx], dx
mov eax, 4
mov ecx, dword [ebp - 0x18]
mov word [ecx + 6], ax
mov edx, dword [ebp + 0xc]
and edx, 0x10424e8
mov eax, dword [ebp - 0x18]
mov dword [eax + 8], edx
mov ecx, dword [ebp - 0x28]
and ecx, 0x1f80
mov edx, dword [ebp - 0x18]
mov dword [edx + 0xc], ecx
jmp 0x436c87
mov dword [ebp - 0x60], 0x4b4f70
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 0xc]
push ecx
lea edx, [ebp - 0x2c]
push edx
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x30]
push ecx
push 0
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp + 8]
push ecx
call fcn.00433860
add esp, 0x24
test eax, eax
jne 0x436a85
jmp 0x43834e
mov edx, dword [ebp + 8]
cmp edx, dword [ebp - 0x10]
jae 0x436aa3
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
cmp ecx, 0x3a
je 0x436aaf
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
cmp eax, 0x29
je 0x436aaf
mov dword [ebp - 0xc], 0xa0
jmp 0x43834e
mov dword [ebp - 0x1c], 0
jmp 0x436ac1
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
cmp edx, dword [0x4b4f9c]
jge 0x436b0b
imul eax, dword [ebp - 0x1c], 0xc
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [eax + 0x4b4fa0]
jne 0x436af5
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.004767d0
add esp, 0xc
test eax, eax
jne 0x436af5
jmp 0x436b0b
imul edx, dword [ebp - 0x1c], 0xc
mov eax, dword [edx + 0x4b4fa0]
mov ecx, dword [ebp - 0x60]
lea edx, [ecx + eax + 1]
mov dword [ebp - 0x60], edx
jmp 0x436ab8
mov eax, dword [ebp - 0x1c]
cmp eax, dword [0x4b4f9c]
jl 0x436b22
mov dword [ebp - 0xc], 0xa0
jmp 0x43834e
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x3a
jne 0x436b55
mov eax, dword [ebp + 8]
add eax, 1
cmp eax, dword [ebp - 0x10]
jae 0x436b55
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp + 8]
movzx eax, byte [edx + ecx]
cmp eax, 0x29
jne 0x436b55
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
imul edx, dword [ebp - 0x1c], 0xc
cmp dword [edx + 0x4b4fa8], 0
jle 0x436b79
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
cmp ecx, 0x3a
je 0x436b79
mov dword [ebp - 0xc], 0xa6
jmp 0x43834e
mov edx, dword [ebp - 4]
mov dword [ebp - 0xe4], edx
imul eax, dword [ebp - 0x1c], 0xc
cmp dword [eax + 0x4b4fa4], 0x802a0000
jne 0x436b9e
mov dword [ebp - 0x194], 1
jmp 0x436ba8
mov dword [ebp - 0x194], 0
mov ecx, dword [ebp - 0x194]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x1ec], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x1ec], 0x3a
jne 0x436c6f
imul edx, dword [ebp - 0x1c], 0xc
cmp dword [edx + 0x4b4fa8], 0
jge 0x436c04
imul eax, dword [ebp - 0x1c], 0xc
mov ecx, dword [eax + 0x4b4fa4]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 4]
mov dword [edx], 0x80290000
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
jmp 0x436c48
imul ecx, dword [ebp - 0x1c], 0xc
cmp dword [ecx + 0x4b4fa4], 0x80290000
je 0x436c20
mov dword [ebp - 0x198], 0x10000
jmp 0x436c2a
mov dword [ebp - 0x198], 0
imul edx, dword [ebp - 0x1c], 0xc
mov eax, dword [edx + 0x4b4fa4]
add eax, dword [ebp - 0x198]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 4]
add ecx, 4
mov dword [ebp - 4], ecx
mov edx, dword [ebp + 8]
mov dword [ebp - 0x19c], edx
mov dword [ebp - 0x98], 1
jmp 0x436c87
imul eax, dword [ebp - 0x1c], 0xc
mov ecx, dword [ebp - 4]
mov edx, dword [eax + 0x4b4fa4]
mov dword [ecx], edx
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
jmp 0x438280
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 8]
cmp edx, dword [ebp - 0x10]
jb 0x436ca2
jmp 0x438347
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xcc]
sub edx, 0x21
mov dword [ebp - 0xcc], edx
cmp dword [ebp - 0xcc], 0x31
ja case.0x436cd3.1
mov eax, dword [ebp - 0xcc]
movzx ecx, byte [eax + 0x438580]
jmp dword [ecx*4 + 0x438548]
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
cmp eax, 0x2d
jne 0x436d1d
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp + 8]
cmp ecx, 1
jle 0x436d1d
mov edx, 1
shl edx, 0
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx]
cmp ecx, 0x30
jl 0x436d1d
mov edx, 1
shl edx, 0
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx]
cmp ecx, 0x39
jg 0x436d1d
jmp case.0x436cd3.15
mov dx, word [ebp - 0x14]
add dx, 1
mov word [ebp - 0x14], dx
cmp dword [ebp - 0x18], 0
jne 0x436d3a
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x18], ecx
jmp 0x436d5a
mov edx, dword [ebp - 0x18]
add edx, 0x10
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x94]
jb 0x436d5a
mov dword [ebp - 0xc], 0xb8
jmp 0x43834e
mov ecx, dword [ebp - 0x18]
mov dx, word [ebp - 0x14]
mov word [ecx], dx
xor eax, eax
mov ecx, dword [ebp - 0x18]
mov word [ecx + 6], ax
mov edx, dword [ebp + 0xc]
and edx, 0x10424e8
mov eax, dword [ebp - 0x18]
mov dword [eax + 8], edx
mov ecx, dword [ebp - 0x28]
and ecx, 0x1f80
mov edx, dword [ebp - 0x18]
mov dword [edx + 0xc], ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
cmp ecx, 0x7c
jne 0x436df4
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp + 0x14]
mov cx, word [eax + 0x70]
mov word [edx + 2], cx
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp + 0x14]
mov cx, word [eax + 0x70]
mov word [edx + 4], cx
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 6]
or eax, 1
mov ecx, dword [ebp - 0x18]
mov word [ecx + 6], ax
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + 0x6c]
or eax, 0x200000
mov ecx, dword [ebp + 0x14]
mov dword [ecx + 0x6c], eax
mov edx, dword [ebp - 4]
mov dword [edx], 0x801a0000
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x43723d
mov dword [ebp - 0xec], 1
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x1f8], edx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x1fc], eax
xor ecx, ecx
mov edx, dword [ebp - 0x18]
mov word [edx + 2], cx
xor eax, eax
mov ecx, dword [ebp - 0x18]
mov word [ecx + 4], ax
mov dword [ebp - 0x7c], 0
mov edx, dword [ebp - 0x7c]
mov dword [ebp - 0xf0], edx
lea eax, [ebp - 0xf0]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0xf4], 0
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0x1a0], ecx
lea edx, [ebp - 0x1a0]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0x10]
jae 0x436e97
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x5e
jne 0x436e97
mov eax, dword [ebp + 0xc]
and eax, 0xfeffdb57
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp - 0x28]
and ecx, 0xffffff7f
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0xec], 0
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0x10]
jae 0x437127
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x29
je 0x437127
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
cmp ecx, 0x3a
je 0x437127
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x1f0], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp - 0x1f0]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xd0]
sub eax, 0x2d
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0x4b
ja case.0x436f0b.1
mov ecx, dword [ebp - 0xd0]
movzx edx, byte [ecx + 0x4385e0]
jmp dword [edx*4 + 0x4385b4]
cmp dword [ebp - 0xec], 0
jne 0x436f30
mov dword [ebp - 0xc], 0xc2
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [ebp + 8], eax
jmp 0x43834e
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x34], ecx
lea edx, [ebp - 0xf4]
mov dword [ebp - 0x38], edx
mov dword [ebp - 0xec], 0
jmp 0x437122
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0x10]
jae 0x437027
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x44
jne 0x436f83
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
or ecx, 0x100
mov edx, dword [ebp - 0x38]
mov dword [edx], ecx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x437122
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x50
jne 0x436fac
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
or ecx, 0x1800
mov edx, dword [ebp - 0x38]
mov dword [edx], ecx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x437122
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x53
jne 0x436fd5
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
or ecx, 0x200
mov edx, dword [ebp - 0x38]
mov dword [edx], ecx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x437122
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x54
jne 0x436ffe
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
or ecx, 0x1000
mov edx, dword [ebp - 0x38]
mov dword [edx], ecx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x437122
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x57
jne 0x437027
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
or ecx, 0x400
mov edx, dword [ebp - 0x38]
mov dword [edx], ecx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x437122
mov ecx, dword [ebp - 0x38]
mov edx, dword [ecx]
or edx, 0x1f00
mov eax, dword [ebp - 0x38]
mov dword [eax], edx
jmp 0x437122
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx]
or edx, 0x40
mov eax, dword [ebp - 0x34]
mov dword [eax], edx
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + 0x6c]
or edx, 0x400
mov eax, dword [ebp + 0x14]
mov dword [eax + 0x6c], edx
jmp 0x437122
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx]
or edx, 8
mov eax, dword [ebp - 0x34]
mov dword [eax], edx
jmp 0x437122
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx]
or edx, 0x400
mov eax, dword [ebp - 0x34]
mov dword [eax], edx
jmp 0x437122
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx]
or edx, 0x2000
mov eax, dword [ebp - 0x34]
mov dword [eax], edx
jmp 0x437122
mov ecx, dword [ebp - 0x38]
mov edx, dword [ecx]
or edx, 0x80
mov eax, dword [ebp - 0x38]
mov dword [eax], edx
jmp 0x437122
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x34]
mov dword [eax], edx
jmp 0x437122
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx]
or edx, 0x40000
mov eax, dword [ebp - 0x34]
mov dword [eax], edx
jmp 0x437122
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx]
or edx, 0x80
mov eax, dword [ebp - 0x34]
mov dword [eax], edx
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 0x10]
jae 0x43710b
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
cmp eax, 0x78
jne 0x43710b
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx]
or edx, 0x1000000
mov eax, dword [ebp - 0x34]
mov dword [eax], edx
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x437122
mov dword [ebp - 0xc], 0x6f
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
jmp 0x43834e
jmp 0x436e97
mov eax, dword [ebp - 0xf0]
and eax, 0x1000080
cmp eax, 0x80
je 0x437144
mov ecx, dword [ebp - 0x7c]
and ecx, 0x80
je 0x437150
mov edx, dword [ebp - 0x7c]
or edx, 0x1000000
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp + 0xc]
or eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0x7c]
not ecx
and eax, ecx
mov dword [ebp + 0xc], eax
mov edx, dword [ebp - 0x28]
or edx, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0xf4]
not eax
and edx, eax
mov dword [ebp - 0x28], edx
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 0x10]
jb 0x437186
jmp 0x438347
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x1f4], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x1f4], 0x29
jne 0x4371e1
mov dx, word [ebp - 0x14]
sub dx, 1
mov word [ebp - 0x14], dx
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [eax + 0x14]
jbe 0x4371d5
mov edx, dword [ebp - 0x18]
movzx eax, word [edx - 0x10]
movzx ecx, word [ebp - 0x14]
cmp eax, ecx
jne 0x4371d5
mov edx, dword [ebp - 0x18]
sub edx, 0x10
mov dword [ebp - 0x18], edx
jmp 0x4371df
mov eax, dword [ebp - 0x18]
mov cx, word [ebp - 0x14]
mov word [eax], cx
jmp 0x4371f3
mov edx, dword [ebp - 4]
mov dword [edx], 0x801a0000
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0xc]
cmp ecx, dword [ebp - 0x1f8]
jne 0x437209
mov edx, dword [ebp - 0x28]
cmp edx, dword [ebp - 0x1fc]
je 0x43723d
mov eax, dword [ebp - 4]
mov dword [eax], 0x801b0000
mov ecx, dword [ebp - 4]
add ecx, 4
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0xc]
mov dword [edx], eax
mov ecx, dword [ebp - 4]
add ecx, 4
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x28]
mov dword [edx], eax
mov ecx, dword [ebp - 4]
add ecx, 4
mov dword [ebp - 4], ecx
jmp 0x43812c
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0x10]
jb 0x437258
jmp 0x438347
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x3c
jne 0x43726f
mov dword [ebp - 0x40], 0x3e
jmp 0x437e68
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
cmp ecx, 0x3e
jne 0x43727f
jmp case.0x436cd3.5
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
cmp eax, 0x3d
je 0x437296
mov dword [ebp - 0xc], 0x8d
jmp 0x43834e
mov ecx, dword [ebp + 0x14]
push ecx
lea edx, [ebp - 0xc]
push edx
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x44]
push ecx
lea edx, [ebp - 0x30]
push edx
push 0x29
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
lea edx, [ebp + 8]
push edx
call fcn.00433860
add esp, 0x24
test eax, eax
jne 0x4372c9
jmp 0x43834e
mov eax, dword [ebp - 4]
mov dword [eax], 0x80040000
mov ecx, dword [ebp - 4]
add ecx, 4
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x2c]
mov dword [edx], eax
mov ecx, dword [ebp - 4]
add ecx, 4
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x30]
mov dword [edx], eax
mov ecx, dword [ebp - 4]
add ecx, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0x24], 1
jmp 0x43812c
mov dword [ebp - 0x1c], 0
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0x10]
jae 0x43732c
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x29
je 0x437338
mov dword [ebp - 0xc], 0x9e
jmp 0x43834e
jmp 0x437406
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp + 8]
cmp eax, 2
jl 0x437370
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp + 8]
movzx eax, byte [edx + ecx]
cmp eax, 0x30
jl 0x437370
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp + 8]
movzx eax, byte [edx + ecx]
cmp eax, 0x39
jle case.0x436cd3.15
mov dword [ebp - 0xc], 0x81
jmp 0x43834e
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x30
jl 0x43739e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
cmp ecx, 0x39
jg 0x43739e
mov dword [ebp - 0x1a4], 0xffffffff
jmp 0x4373aa
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + 0x70]
mov dword [ebp - 0x1a4], eax
lea ecx, [ebp - 0xc]
push ecx
lea edx, [ebp - 0x1c]
push edx
push 0xa1
push 0xffff
mov eax, dword [ebp - 0x1a4]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
lea edx, [ebp + 8]
push edx
call fcn.00432dc0
add esp, 0x1c
test eax, eax
jne 0x4373dc
jmp 0x43834e
cmp dword [ebp - 0x1c], 0
jge 0x4373ee
mov dword [ebp - 0xc], 0x73
jmp 0x438362
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0x10]
jae 0x437401
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x29
je 0x437406
jmp 0x438347
mov eax, dword [ebp - 0x1c]
or eax, 0x80200000
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 8]
sub ecx, dword [eax + 0x1c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x30]
mov dword [eax], ecx
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
mov dword [ebp - 0x24], 1
jmp 0x43812c
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 0xc]
push ecx
lea edx, [ebp - 0x2c]
push edx
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x30]
push ecx
push 0x29
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp + 8]
push ecx
call fcn.00433860
add esp, 0x24
test eax, eax
jne 0x437481
jmp 0x43834e
mov edx, dword [ebp - 4]
mov dword [edx], 0x80210000
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [ecx], edx
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x30]
mov dword [ecx], edx
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
mov dword [ebp - 0x24], 1
jmp 0x43812c
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 8]
cmp edx, dword [ebp - 0x10]
jb 0x4374d7
jmp 0x438347
mov eax, dword [ebp - 0xfc]
sub eax, 1
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x50], 0
je 0x437516
mov ecx, dword [ebp + 0xc]
and ecx, 4
je 0x437516
mov edx, dword [ebp - 4]
sub edx, 0x10
cmp dword [ebp - 0x50], edx
jne 0x437516
mov eax, 4
imul ecx, eax, 0xffffffff
mov edx, dword [ebp - 4]
cmp dword [edx + ecx], 0xff
jne 0x437516
mov eax, dword [ebp - 0x50]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x64], 1
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
cmp eax, 0x29
je 0x43767f
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x30
jl 0x43754c
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
cmp ecx, 0x39
jle 0x43767f
mov edx, dword [ebp + 8]
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0x1c], 0
jmp 0x437571
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
cmp dword [ecx*4 + 0x4b7b3c], 0
je 0x4375a4
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x1c]
cmp eax, dword [ecx*4 + 0x4b7b3c]
jne 0x4375a2
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx*4 + 0x4b7a2c]
mov dword [ebp - 0xd4], eax
jmp 0x4375a4
jmp 0x437568
cmp dword [ebp - 0xd4], 0
jne 0x4375b9
mov dword [ebp - 0xc], 0xb6
jmp 0x43834e
mov ecx, dword [ebp - 4]
mov dword [ecx], 0x80070000
mov edx, dword [ebp - 4]
add edx, 0xc
mov dword [ebp - 4], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 0x10]
jb 0x4375f1
mov dword [ebp - 0xc], 0xb5
mov edx, dword [ebp - 0xf8]
mov dword [ebp + 8], edx
jmp 0x43834e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
cmp ecx, dword [ebp - 0xd4]
jne 0x437620
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0x10]
jae 0x43761e
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, dword [ebp - 0xd4]
je 0x437620
jmp 0x437622
jmp 0x4375cb
mov eax, dword [ebp + 8]
sub eax, dword [ebp - 0xf8]
mov dword [ebp - 0x1a8], eax
cmp dword [ebp - 0x1a8], 0xffffffff
jbe 0x437646
mov dword [ebp - 0xc], 0xac
jmp 0x43834e
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x1a8]
mov dword [ecx], edx
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 0xf8]
sub edx, dword [ecx + 0x1c]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x30]
mov dword [eax], ecx
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
jmp 0x437707
mov dword [ebp - 0xd8], 0
mov eax, dword [ebp - 4]
mov dword [eax], 0x80060000
mov ecx, dword [ebp - 4]
add ecx, 0xc
mov dword [ebp - 4], ecx
mov edx, dword [ebp + 8]
cmp edx, dword [ebp - 0x10]
jae 0x4376f3
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
cmp ecx, 0x30
jl 0x4376f3
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
cmp eax, 0x39
jg 0x4376f3
imul ecx, dword [ebp - 0xd8], 0xa
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
lea ecx, [ecx + eax - 0x30]
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0xd8], 0xff
jle 0x4376f1
mov dword [ebp - 0xc], 0x8a
jmp 0x43834e
jmp 0x43769b
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xd8]
mov dword [eax], ecx
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0x10]
jae 0x43771a
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x29
je 0x437726
mov dword [ebp - 0xc], 0x8b
jmp 0x43834e
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 8]
sub edx, dword [ecx + 0x1c]
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 0x50]
mov dword [ecx + eax], edx
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 0x50]
mov dword [eax + edx], 0
jmp 0x43812c
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 8]
cmp edx, dword [ebp - 0x10]
jb 0x437772
jmp 0x438347
mov ax, word [ebp - 0x14]
add ax, 1
mov word [ebp - 0x14], ax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x3f
je 0x437794
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
cmp ecx, 0x2a
jne 0x4377bb
mov edx, dword [ebp - 4]
mov dword [edx], 0x800f0000
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
mov dword [ebp - 0x68], 2
jmp 0x43812c
lea edx, [ebp - 0xc]
push edx
lea eax, [ebp - 0x1c]
push eax
push 0xa1
push 0xffff
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + 0x70]
push edx
mov eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp + 8]
push ecx
call fcn.00432dc0
add esp, 0x1c
test eax, eax
je 0x437842
cmp dword [ebp - 0x1c], 0
jg 0x4377fa
mov dword [ebp - 0xc], 0x73
jmp 0x43834e
mov edx, dword [ebp - 4]
mov dword [edx], 0x80120000
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 8]
sub edx, dword [ecx + 0x1c]
sub edx, 2
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x30]
mov dword [eax], ecx
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x1c]
mov dword [eax], ecx
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
jmp 0x437c3a
cmp dword [ebp - 0xc], 0
je 0x437852
jmp 0x43834e
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp + 8]
cmp eax, 0xa
jl 0x437a67
push 7
push str.VERSION
mov ecx, dword [ebp + 8]
push ecx
call fcn.004767d0
add esp, 0xc
test eax, eax
jne 0x437a67
mov edx, 1
imul eax, edx, 7
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + eax]
cmp edx, 0x29
je 0x437a67
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1b4], 0
mov dword [ebp - 0xdc], 0
mov eax, dword [ebp + 8]
add eax, 7
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x3e
jne 0x4378d9
mov dword [ebp - 0x1b0], 1
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x3d
jne 0x437922
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x30
jl 0x43790f
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
cmp ecx, 0x39
jg 0x43790f
mov dword [ebp - 0x1ac], 0
jmp 0x437919
mov dword [ebp - 0x1ac], 1
cmp dword [ebp - 0x1ac], 0
je 0x437927
jmp 0x43836d
lea edx, [ebp - 0xc]
push edx
lea eax, [ebp - 0x1b4]
push eax
push 0xb3
push 0x3e8
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x10]
push ecx
lea edx, [ebp + 8]
push edx
call fcn.00432dc0
add esp, 0x1c
test eax, eax
jne 0x437957
jmp 0x43834e
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0x10]
jb 0x437964
jmp 0x43836d
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x2e
jne 0x437a14
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 0x10]
jae 0x43799a
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
cmp eax, 0x30
jl 0x43799a
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x39
jle 0x43799f
jmp 0x43836d
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
sub ecx, 0x30
imul edx, ecx, 0xa
mov dword [ebp - 0xdc], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 0x10]
jb 0x4379c7
jmp 0x43836d
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
cmp eax, 0x30
jl 0x4379fc
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x39
jg 0x4379fc
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xdc]
lea eax, [edx + ecx - 0x30]
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 8]
cmp edx, dword [ebp - 0x10]
jae 0x437a0f
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
cmp ecx, 0x29
je 0x437a14
jmp 0x43836d
mov edx, dword [ebp - 4]
mov dword [edx], 0x80150000
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x1b0]
mov dword [ecx], edx
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x1b4]
mov dword [ecx], edx
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0xdc]
mov dword [ecx], edx
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
jmp 0x437c3a
mov dword [ebp - 0x1b8], 0
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x52
jne 0x437ab7
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp + 8]
cmp eax, 1
jle 0x437ab7
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp + 8]
movzx eax, byte [edx + ecx]
cmp eax, 0x26
jne 0x437ab7
mov dword [ebp - 0x40], 0x29
mov dword [ebp - 0x1b8], 1
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x437aef
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
cmp eax, 0x3c
jne 0x437acb
mov dword [ebp - 0x40], 0x3e
jmp 0x437aef
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x27
jne 0x437adf
mov dword [ebp - 0x40], 0x27
jmp 0x437aef
mov dword [ebp - 0x40], 0x29
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 0x14]
push ecx
lea edx, [ebp - 0xc]
push edx
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x44]
push ecx
lea edx, [ebp - 0x30]
push edx
mov eax, dword [ebp - 0x40]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp - 0x10]
push edx
lea eax, [ebp + 8]
push eax
call fcn.00433860
add esp, 0x24
test eax, eax
jne 0x437b24
jmp 0x43834e
cmp dword [ebp - 0x1b8], 0
je 0x437b44
mov ecx, dword [ebp - 4]
mov dword [ecx], 0x80130000
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
jmp 0x437bf8
cmp dword [ebp - 0x40], 0x29
jne 0x437bef
cmp dword [ebp - 0x2c], 6
jne 0x437b76
push 6
push str.DEFINE
mov eax, dword [ebp - 0x44]
push eax
call fcn.004767d0
add esp, 0xc
test eax, eax
jne 0x437b76
mov ecx, dword [ebp - 4]
mov dword [ecx], 0x80100000
jmp 0x437be4
mov dword [ebp - 0x1c], 1
jmp 0x437b88
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x2c]
jge 0x437bb0
mov ecx, dword [ebp - 0x44]
add ecx, dword [ebp - 0x1c]
movzx edx, byte [ecx]
cmp edx, 0x30
jl 0x437bac
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x1c]
movzx ecx, byte [eax]
cmp ecx, 0x39
jle 0x437bae
jmp 0x437bb0
jmp 0x437b7f
mov edx, dword [ebp - 0x44]
movzx eax, byte [edx]
cmp eax, 0x52
jne 0x437bcf
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x2c]
jl 0x437bcf
mov dword [ebp - 0x1bc], 0x80140000
jmp 0x437bd9
mov dword [ebp - 0x1bc], 0x80110000
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x1bc]
mov dword [edx], eax
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
jmp 0x437bf8
mov edx, dword [ebp - 4]
mov dword [edx], 0x80110000
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov dword [ebp - 0x200], ecx
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
cmp dword [ebp - 0x200], 0x80100000
je 0x437c29
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x2c]
mov dword [eax], ecx
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x30]
mov dword [eax], ecx
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0x10]
jae 0x437c4d
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x29
je 0x437c59
mov dword [ebp - 0xc], 0x7c
jmp 0x43834e
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x43812c
mov ecx, dword [ebp - 4]
mov dword [ecx], 0x80020000
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
mov ax, word [ebp - 0x14]
add ax, 1
mov word [ebp - 0x14], ax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x43812c
mov edx, dword [ebp - 4]
mov dword [edx], 0x80230000
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x437de2
mov edx, dword [ebp - 4]
mov dword [edx], 0x80270000
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x437de2
mov edx, dword [ebp - 4]
mov dword [edx], 0x80240000
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x437de2
mov edx, dword [ebp - 0x10]
sub edx, dword [ebp + 8]
cmp edx, 1
jle 0x437d3a
mov eax, 1
shl eax, 0
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + eax]
cmp edx, 0x3d
je 0x437d46
mov eax, 1
shl eax, 0
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + eax]
cmp edx, 0x21
je 0x437d46
mov eax, 1
shl eax, 0
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + eax]
cmp edx, 0x2a
je 0x437d46
mov dword [ebp - 0x40], 0x3e
jmp 0x437e68
mov eax, 1
shl eax, 0
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + eax]
cmp edx, 0x3d
jne 0x437d66
mov dword [ebp - 0x1c4], 0x80250000
jmp 0x437d9c
mov eax, 1
shl eax, 0
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + eax]
cmp edx, 0x21
jne 0x437d86
mov dword [ebp - 0x1c0], 0x80260000
jmp 0x437d90
mov dword [ebp - 0x1c0], 0x80280000
mov eax, dword [ebp - 0x1c0]
mov dword [ebp - 0x1c4], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x1c4]
mov dword [ecx], edx
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 1
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 8]
sub eax, dword [edx + 0x1c]
sub eax, 2
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x30]
mov dword [ecx], edx
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 8]
add ecx, 2
mov dword [ebp + 8], ecx
mov dx, word [ebp - 0x14]
add dx, 1
mov word [ebp - 0x14], dx
cmp dword [ebp - 0xfc], 0
jle 0x437e5c
cmp dword [ebp - 0x18], 0
jne 0x437e08
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x18], ecx
jmp 0x437e28
mov edx, dword [ebp - 0x18]
add edx, 0x10
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x94]
jb 0x437e28
mov dword [ebp - 0xc], 0xb8
jmp 0x43834e
mov ecx, dword [ebp - 0x18]
mov dx, word [ebp - 0x14]
mov word [ecx], dx
mov eax, 2
mov ecx, dword [ebp - 0x18]
mov word [ecx + 6], ax
mov edx, dword [ebp + 0xc]
and edx, 0x10424e8
mov eax, dword [ebp - 0x18]
mov dword [eax + 8], edx
mov ecx, dword [ebp - 0x28]
and ecx, 0x1f80
mov edx, dword [ebp - 0x18]
mov dword [edx + 0xc], ecx
jmp 0x43812c
mov dword [ebp - 0x40], 0x27
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 0xc]
push ecx
lea edx, [ebp - 0x2c]
push edx
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x30]
push ecx
mov edx, dword [ebp - 0x40]
push edx
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
lea edx, [ebp + 8]
push edx
call fcn.00433860
add esp, 0x24
test eax, eax
jne 0x437e9d
jmp 0x43834e
mov eax, dword [ebp + 0x14]
cmp dword [eax + 0x70], 0xffff
jb 0x437eb5
mov dword [ebp - 0xc], 0xc5
jmp 0x43834e
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + 0x70]
add edx, 1
mov eax, dword [ebp + 0x14]
mov dword [eax + 0x70], edx
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + 0x70]
or edx, 0x80080000
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, dword [ebp - 4]
add ecx, 4
mov dword [ebp - 4], ecx
mov dx, word [ebp - 0x14]
add dx, 1
mov word [ebp - 0x14], dx
mov eax, dword [ebp + 0x14]
movzx ecx, word [eax + 0x58]
cmp ecx, 0x2710
jl 0x437f05
mov dword [ebp - 0xc], 0x95
jmp 0x43834e
mov edx, dword [ebp - 0x2c]
add edx, 3
mov eax, dword [ebp + 0x14]
movzx ecx, word [eax + 0x5a]
cmp edx, ecx
jbe 0x437f23
mov edx, dword [ebp - 0x2c]
add edx, 3
mov eax, dword [ebp + 0x14]
mov word [eax + 0x5a], dx
mov dword [ebp - 0x1cc], 0
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + 0x60]
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x1c], 0
jmp 0x437f51
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x6c]
add ecx, 0xc
mov dword [ebp - 0x6c], ecx
mov edx, dword [ebp + 0x14]
movzx eax, word [edx + 0x58]
cmp dword [ebp - 0x1c], eax
jge 0x437fef
mov ecx, dword [ebp - 0x6c]
movzx edx, word [ecx + 8]
cmp dword [ebp - 0x2c], edx
jne 0x437fd0
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x44]
push eax
call fcn.00476750
add esp, 0xc
test eax, eax
jne 0x437fd0
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp + 0x14]
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 0x70]
jne 0x437f97
jmp 0x437fef
mov ecx, dword [ebp + 0xc]
and ecx, 0x40
jne 0x437fab
mov dword [ebp - 0xc], 0x8f
jmp 0x43834e
mov edx, 1
mov eax, dword [ebp - 0x6c]
mov word [eax + 0xa], dx
mov dword [ebp - 0x1cc], 1
mov ecx, dword [ebp + 0x14]
mov dword [ecx + 0xb8], 1
jmp 0x437fea
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp + 0x14]
mov ecx, dword [edx + 4]
cmp ecx, dword [eax + 0x70]
jne 0x437fea
mov dword [ebp - 0xc], 0xa5
jmp 0x43834e
jmp 0x437f3f
mov edx, dword [ebp + 0x14]
movzx eax, word [edx + 0x58]
cmp dword [ebp - 0x1c], eax
jge 0x438000
jmp 0x43812c
mov ecx, dword [ebp + 0x14]
movzx edx, word [ecx + 0x58]
mov eax, dword [ebp + 0x14]
cmp edx, dword [eax + 0x64]
jb 0x4380b5
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + 0x64]
shl edx, 1
mov dword [ebp - 0x1c8], edx
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push edx
imul eax, dword [ebp - 0x1c8], 0xc
push eax
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx]
mov eax, dword [edx]
call eax
add esp, 8
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
jne 0x438059
mov dword [ebp - 0xc], 0x79
jmp 0x43834e
mov ecx, dword [ebp + 0x14]
imul edx, dword [ecx + 0x64], 0xc
push edx
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 0x60]
push ecx
mov edx, dword [ebp - 0x100]
push edx
call fcn.0047cfc0
add esp, 0xc
mov eax, dword [ebp + 0x14]
cmp dword [eax + 0x64], 0x14
jbe 0x43809d
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + 0x60]
push edx
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
call edx
add esp, 8
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x100]
mov dword [eax + 0x60], ecx
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x1c8]
mov dword [edx + 0x64], eax
mov ecx, dword [ebp + 0x14]
movzx edx, word [ecx + 0x58]
imul eax, edx, 0xc
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + 0x60]
mov ecx, dword [ebp - 0x44]
mov dword [edx + eax], ecx
mov edx, dword [ebp + 0x14]
movzx eax, word [edx + 0x58]
imul ecx, eax, 0xc
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + 0x60]
mov dx, word [ebp - 0x2c]
mov word [eax + ecx + 8], dx
mov eax, dword [ebp + 0x14]
movzx ecx, word [eax + 0x58]
imul edx, ecx, 0xc
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 0x60]
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x70]
mov dword [ecx + edx + 4], eax
mov ecx, dword [ebp + 0x14]
movzx edx, word [ecx + 0x58]
imul eax, edx, 0xc
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + 0x60]
mov cx, word [ebp - 0x1cc]
mov word [edx + eax + 0xa], cx
mov edx, dword [ebp + 0x14]
mov ax, word [edx + 0x58]
add ax, 1
mov ecx, dword [ebp + 0x14]
mov word [ecx + 0x58], ax
jmp 0x438280
cmp dword [ebp - 0x18], 0
je 0x43817b
mov edx, dword [ebp - 0x18]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x14]
cmp eax, ecx
jne 0x43817b
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 6]
and eax, 1
je 0x43817b
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 4]
mov eax, dword [ebp + 0x14]
cmp dword [eax + 0x70], edx
jbe 0x43816e
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp + 0x14]
mov ax, word [edx + 0x70]
mov word [ecx + 4], ax
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 2]
mov eax, dword [ebp + 0x14]
mov dword [eax + 0x70], edx
mov ecx, dword [ebp - 4]
mov dword [ecx], 0x80010000
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
jmp 0x438280
mov dword [ebp - 0x24], 1
cmp dword [ebp - 0x18], 0
je 0x43824e
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x14]
cmp ecx, edx
jne 0x43824e
mov eax, dword [ebp + 0xc]
and eax, 0xfefbdb17
mov ecx, dword [ebp - 0x18]
or eax, dword [ecx + 8]
mov dword [ebp + 0xc], eax
mov edx, dword [ebp - 0x28]
and edx, 0xffffe07f
mov eax, dword [ebp - 0x18]
or edx, dword [eax + 0xc]
mov dword [ebp - 0x28], edx
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 6]
and edx, 1
je 0x438200
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax + 4]
mov edx, dword [ebp + 0x14]
cmp ecx, dword [edx + 0x70]
jbe 0x438200
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax + 4]
mov edx, dword [ebp + 0x14]
mov dword [edx + 0x70], ecx
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax + 6]
and ecx, 2
je 0x438213
mov dword [ebp - 0x24], 0
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 6]
and eax, 4
je 0x438231
mov ecx, dword [ebp - 4]
mov dword [ecx], 0x80190000
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [eax + 0x14]
jne 0x438245
mov dword [ebp - 0x18], 0
jmp 0x43824e
mov edx, dword [ebp - 0x18]
sub edx, 0x10
mov dword [ebp - 0x18], edx
movzx eax, word [ebp - 0x14]
test eax, eax
jne 0x438262
mov dword [ebp - 0xc], 0x7a
jmp 0x438362
mov cx, word [ebp - 0x14]
sub cx, 1
mov word [ebp - 0x14], cx
mov edx, dword [ebp - 4]
mov dword [edx], 0x80190000
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
jmp 0x434512
cmp dword [ebp - 0x98], 0
je 0x4382a2
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 0x10]
jb 0x4382a2
mov dword [ebp - 0xc], 0xa0
jmp 0x43834e
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp - 0x9c]
push ecx
lea edx, [ebp - 0x50]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00433ee0
add esp, 0x14
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x28]
and ecx, 8
je 0x4382f2
mov edx, dword [ebp - 4]
mov dword [edx], 0x80190000
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
mov dword [ecx], 0x80160000
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
jmp 0x43831e
mov eax, dword [ebp - 0x28]
and eax, 4
je 0x43831e
mov ecx, dword [ebp - 4]
mov dword [ecx], 0x80190000
mov edx, dword [ebp - 4]
add edx, 4
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
mov dword [eax], 0x80180005
mov ecx, dword [ebp - 4]
add ecx, 4
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 0x104]
jb 0x438332
mov dword [ebp - 0xc], 0xa3
jmp 0x43834e
mov eax, dword [ebp - 4]
mov dword [eax], SysReAllocStringLen
movzx ecx, word [ebp - 0x14]
test ecx, ecx
jne 0x438347
xor eax, eax
jmp 0x438376
mov dword [ebp - 0xc], 0x72
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 8]
sub eax, dword [edx + 0x1c]
mov ecx, dword [ebp + 0x14]
mov dword [ecx + 0x54], eax
mov eax, dword [ebp - 0xc]
jmp 0x438376
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
jmp 0x43834e
mov dword [ebp - 0xc], 0xb3
jmp 0x43834e
pop esi
mov esp, ebp
pop ebp
ret