Function at 0x3dd32f0
Capabilities:
Authenticate hmac
Encode data using base64
Encrypt data using speck
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd94
xor eax, eax
xor edx, edx
xor ecx, ecx
push ebx
push esi
push edi
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp + 8]
xor edx, edx
lea ebx, [ebp - 0x6c]
mov eax, dword [ecx]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x50], edx
xor ecx, ecx
xor edx, edx
mov dword [ebp - 0x54], ecx
mov eax, dword [ebp + 0xc]
mov edi, dword [eax]
xor eax, eax
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x68], edx
mov ecx, dword [ebp + 0x10]
xor eax, eax
xor edx, edx
mov ecx, dword [ecx]
mov dword [ebx], ecx
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x78], edx
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
xor eax, eax
mov dword [ebp - 0x80], eax
test byte [ebp - 0x4b], 8
setne dl
and edx, 1
mov dword [ebp - 0x84], edx
test byte [ebp - 0x4b], 2
setne cl
and ecx, 1
xor edx, edx
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
xor eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x24], edx
mov eax, 0xfffffffe
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
test byte [ebp - 0x4c], 1
je 0x3dd33a2
mov edx, 1
jmp 0x3dd33a4
xor edx, edx
mov dword [ebp - 0x40], edx
mov eax, dword [ebx]
movzx esi, byte [eax]
test esi, esi
jne 0x3dd33c5
cmp dword [ebp - 0x74], 0
je 0x3dd33c5
mov eax, dword [ebp - 0x74]
xor edx, edx
mov dword [ebx], eax
mov dword [ebp - 0x74], edx
mov ecx, dword [ebx]
movzx esi, byte [ecx]
cmp dword [ebp + 0x34], 0
je 0x3dd345f
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x30]
mov edx, dword [eax + 0x10]
add edx, dword [ecx + 0x3c]
add edx, 0xffffff9c
cmp edi, edx
jbe 0x3dd33f0
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x34
jmp 0x3dd7c84
cmp edi, dword [ebp - 0x58]
jae 0x3dd33f8
mov edi, dword [ebp - 0x58]
mov eax, dword [ebp + 0x34]
mov ecx, edi
mov edx, 0x7fffffeb
sub edx, dword [eax]
sub ecx, dword [ebp - 0x58]
cmp edx, ecx
jge 0x3dd3419
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x14
jmp 0x3dd7c84
mov eax, edi
mov edx, dword [ebp + 0x34]
sub eax, dword [ebp - 0x58]
add dword [edx], eax
cmp dword [ebp - 0x78], 0
je 0x3dd3457
mov ecx, dword [ebp - 0x78]
cmp ecx, dword [ebp - 0x5c]
jbe 0x3dd345a
mov eax, edi
sub eax, dword [ebp - 0x78]
push eax
mov edx, dword [ebp - 0x78]
push edx
mov ecx, dword [ebp - 0x5c]
push ecx
call fcn.03dcffdc
mov eax, dword [ebp - 0x78]
add esp, 0xc
sub eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x78], edx
sub edi, eax
jmp 0x3dd345a
mov edi, dword [ebp - 0x5c]
mov dword [ebp - 0x58], edi
jmp 0x3dd3484
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x30]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp + 0x30]
add edx, dword [ecx + 0x3c]
add edx, 0xffffff9c
cmp edx, dword [eax + 0x20]
jae 0x3dd3484
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x34
jmp 0x3dd7c84
cmp dword [ebp - 0x64], 0
je 0x3dd34f4
test esi, esi
je 0x3dd34f4
cmp esi, 0x5c
jne 0x3dd34ac
mov ecx, dword [ebx]
movzx ecx, byte [ecx + 1]
cmp ecx, 0x45
jne 0x3dd34ac
xor eax, eax
mov dword [ebp - 0x64], eax
inc dword [ebx]
jmp 0x3dd7c7d
cmp dword [ebp - 0x7c], 0
je 0x3dd34d0
cmp dword [ebp + 0x34], 0
jne 0x3dd34cb
mov edx, dword [ebp + 0x30]
push edx
mov ecx, dword [ebx]
push ecx
mov eax, dword [ebp - 0x7c]
push eax
call fcn.03dd2e78
add esp, 0xc
xor edx, edx
mov dword [ebp - 0x7c], edx
test byte [ebp - 0x4b], 0x40
je 0x3dd795d
mov dword [ebp - 0x7c], edi
mov ecx, dword [ebp + 0x30]
push ecx
mov eax, dword [ebx]
push eax
push edi
call fcn.03dd2e40
add esp, 0xc
mov edi, eax
jmp 0x3dd795d
test byte [ebp - 0x4c], 8
je 0x3dd35fd
jmp 0x3dd3507
inc dword [ebx]
mov edx, dword [ebx]
movzx esi, byte [edx]
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0xc]
test byte [edx + esi], 1
jne 0x3dd3500
cmp esi, 0x23
jne 0x3dd35fd
inc dword [ebx]
jmp 0x3dd35e8
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x7c], 0
je 0x3dd356f
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x1c]
cmp eax, dword [ebx]
jbe 0x3dd3564
mov edx, dword [ebp - 0x84]
push edx
mov ecx, dword [ebp + 0x30]
add ecx, 0x80
push ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x1c]
push edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x7c]
push eax
mov edx, dword [ebx]
push edx
call fcn.03debb84
add esp, 0x14
test eax, eax
jne 0x3dd3568
xor ecx, ecx
jmp 0x3dd35b6
mov ecx, 1
jmp 0x3dd35b6
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x1c]
mov eax, dword [ebp + 0x30]
sub edx, dword [eax + 0x80]
cmp edx, dword [ebx]
jb 0x3dd35ad
mov edx, dword [ebx]
mov esi, dword [ebp + 0x30]
mov cl, byte [edx]
cmp cl, byte [esi + 0x84]
jne 0x3dd35ad
mov eax, dword [ebp + 0x30]
cmp dword [eax + 0x80], 1
je 0x3dd35b1
mov edx, dword [ebx]
mov esi, dword [ebp + 0x30]
mov cl, byte [edx + 1]
cmp cl, byte [esi + 0x85]
je 0x3dd35b1
xor ecx, ecx
jmp 0x3dd35b6
mov ecx, 1
test ecx, ecx
je 0x3dd35c7
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x80]
add dword [ebx], edx
jmp 0x3dd35f3
inc dword [ebx]
cmp dword [ebp - 0x84], 0
je 0x3dd35e8
jmp 0x3dd35d6
inc dword [ebx]
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
and eax, 0xc0
cmp eax, 0x80
je 0x3dd35d4
mov edx, dword [ebx]
cmp byte [edx], 0
jne 0x3dd3523
mov ecx, dword [ebx]
movzx esi, byte [ecx]
jmp 0x3dd3507
cmp esi, 0x2a
je 0x3dd3623
cmp esi, 0x2b
je 0x3dd3623
cmp esi, 0x3f
je 0x3dd3623
cmp esi, 0x7b
jne 0x3dd361f
mov eax, dword [ebx]
inc eax
push eax
call fcn.03dd00d4
pop ecx
test eax, eax
jne 0x3dd3623
xor edx, edx
jmp 0x3dd3628
mov edx, 1
mov dword [ebp - 0xa8], edx
cmp dword [ebp - 0xa8], 0
jne 0x3dd366c
cmp dword [ebp - 0x7c], 0
je 0x3dd366c
cmp dword [ebp - 0x74], 0
jne 0x3dd366c
mov ecx, dword [ebp - 0x50]
add dword [ebp - 0x50], 0xffffffff
test ecx, ecx
jg 0x3dd366c
cmp dword [ebp + 0x34], 0
jne 0x3dd3667
mov ecx, dword [ebp + 0x30]
push ecx
mov eax, dword [ebx]
push eax
mov edx, dword [ebp - 0x7c]
push edx
call fcn.03dd2e78
add esp, 0xc
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
test byte [ebp - 0x4b], 0x40
je 0x3dd3696
cmp dword [ebp - 0xa8], 0
jne 0x3dd3696
cmp dword [ebp - 0x74], 0
jne 0x3dd3696
mov dword [ebp - 0x7c], edi
mov eax, dword [ebp + 0x30]
push eax
mov edx, dword [ebx]
push edx
push edi
call fcn.03dd2e40
add esp, 0xc
mov edi, eax
mov ecx, esi
cmp ecx, 0x3f
jg 0x3dd36e4
je 0x3dd4a55
cmp ecx, 0x29
jg 0x3dd36c6
je 0x3dd371c
sub ecx, 1
jb 0x3dd371c
sub ecx, 0x23
je 0x3dd37ab
sub ecx, 4
je 0x3dd5b46
jmp 0x3dd795d
sub ecx, 0x2a
je 0x3dd4a37
dec ecx
je 0x3dd4a45
sub ecx, 3
je 0x3dd37c4
jmp 0x3dd795d
cmp ecx, 0x5e
jg 0x3dd370b
je 0x3dd3781
sub ecx, 0x5b
je 0x3dd3820
dec ecx
je 0x3dd7566
dec ecx
je 0x3dd3800
jmp 0x3dd795d
sub ecx, 0x7b
je 0x3dd4a02
dec ecx
je 0x3dd371c
jmp 0x3dd795d
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 0x20]
mov dword [eax], edx
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ebp - 0x28]
mov dword [ecx], eax
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x24]
mov dword [edx], eax
mov edx, dword [ebp + 0x24]
mov ecx, dword [ebp - 0x2c]
mov dword [edx], ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx], edi
mov eax, dword [ebp + 0x10]
mov edx, dword [ebx]
mov dword [eax], edx
cmp dword [ebp + 0x34], 0
je 0x3dd3777
mov ecx, dword [ebp + 0x34]
mov edx, edi
mov eax, 0x7fffffeb
sub eax, dword [ecx]
sub edx, dword [ebp - 0x58]
cmp eax, edx
jge 0x3dd376f
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x14
jmp 0x3dd7c84
sub edi, dword [ebp - 0x58]
mov eax, dword [ebp + 0x34]
add dword [eax], edi
mov eax, 1
jmp 0x3dd7c8d
xor edx, edx
mov dword [ebp - 0x78], edx
test byte [ebp - 0x4c], 2
je 0x3dd37a2
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x3dd3799
mov dword [ebp - 0x28], 0xffffffff
mov byte [edi], 0x1c
inc edi
jmp 0x3dd7c7d
mov byte [edi], 0x1b
inc edi
jmp 0x3dd7c7d
xor ecx, ecx
mov dword [ebp - 0x78], ecx
test byte [ebp - 0x4c], 2
je 0x3dd37ba
mov cl, 0x1a
jmp 0x3dd37bc
mov cl, 0x19
mov byte [edi], cl
inc edi
jmp 0x3dd7c7d
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x3dd37d1
mov dword [ebp - 0x28], 0xffffffff
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x3c], edx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x78], edi
test byte [ebp - 0x4c], 4
je 0x3dd37f6
mov dl, 0xd
jmp 0x3dd37f8
mov dl, 0xc
mov byte [edi], dl
inc edi
jmp 0x3dd7c7d
mov eax, dword [ebp + 0x30]
test byte [eax + 0x63], 2
je 0x3dd795d
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x40
jmp 0x3dd7c84
push 6
push 0x3e3bcd1
mov ecx, dword [ebx]
inc ecx
push ecx
call fcn.03b4ac2c
add esp, 0xc
test eax, eax
jne 0x3dd384a
mov eax, dword [ebx]
add eax, 7
mov dword [ebp - 0x74], eax
mov dword [ebx], 0x3e3ad5e
jmp 0x3dd7c7d
push 6
push 0x3e3bcd8
mov edx, dword [ebx]
inc edx
push edx
call fcn.03b4ac2c
add esp, 0xc
test eax, eax
jne 0x3dd3874
mov ecx, dword [ebx]
add ecx, 7
mov dword [ebp - 0x74], ecx
mov dword [ebx], 0x3e3ad67
jmp 0x3dd7c7d
mov dword [ebp - 0x78], edi
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x3a
je 0x3dd389b
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x2e
je 0x3dd389b
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x3d
jne 0x3dd38d0
lea eax, [ebp - 0x70]
push eax
mov edx, dword [ebx]
push edx
call fcn.03dd2cc8
add esp, 8
test eax, eax
je 0x3dd38d0
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x3a
jne 0x3dd38c1
mov edx, 0xd
jmp 0x3dd38c6
mov edx, 0x1f
mov eax, dword [ebp + 0x14]
mov dword [eax], edx
jmp 0x3dd7c84
xor ecx, ecx
mov dword [ebp - 0x9c], ecx
inc dword [ebx]
mov ecx, dword [ebx]
movzx esi, byte [ecx]
cmp esi, 0x5c
jne 0x3dd3910
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x45
jne 0x3dd38f4
inc dword [ebx]
jmp 0x3dd38d8
push 3
push 0x3e3bcdf
mov ecx, dword [ebx]
inc ecx
push ecx
call fcn.03b4ac2c
add esp, 0xc
test eax, eax
jne 0x3dd392a
add dword [ebx], 3
jmp 0x3dd38d8
cmp dword [ebp - 0x9c], 0
jne 0x3dd392a
cmp esi, 0x5e
jne 0x3dd392a
mov dword [ebp - 0x9c], 1
jmp 0x3dd38d8
cmp esi, 0x5d
jne 0x3dd3968
mov ecx, dword [ebp + 0x30]
test byte [ecx + 0x63], 2
je 0x3dd3968
cmp dword [ebp - 0x9c], 0
je 0x3dd3945
mov al, 0xd
jmp 0x3dd3947
mov al, 0x9d
mov byte [edi], al
inc edi
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x3dd3957
mov dword [ebp - 0x28], 0xffffffff
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x34], edx
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x3c], ecx
jmp 0x3dd7c7d
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x94], eax
lea edx, [edi + 4]
xor eax, eax
mov dword [ebp - 0x90], edx
xor edx, edx
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb8], edx
xor ecx, ecx
mov dword [ebp - 0xbc], ecx
push 0x20
lea eax, [ebp - 0x244]
push 0
push eax
call fcn.03b4ac34
add esp, 0xc
test esi, esi
je 0x3dd4863
cmp dword [ebp - 0x84], 0
je 0x3dd3b18
cmp esi, 0xc0
jb 0x3dd3b18
mov edx, dword [ebx]
movzx esi, byte [edx]
cmp esi, 0xc0
jb 0x3dd3b18
test esi, 0x20
jne 0x3dd3a0b
mov eax, dword [ebx]
and esi, 0x1f
xor edx, edx
mov dl, byte [eax + 1]
shl esi, 6
and edx, 0x3f
or esi, edx
inc dword [ebx]
jmp 0x3dd3b18
test esi, 0x10
jne 0x3dd3a3b
mov ecx, dword [ebx]
mov eax, dword [ebx]
and esi, 0xf
xor edx, edx
movzx ecx, byte [ecx + 1]
and ecx, 0x3f
mov dl, byte [eax + 2]
shl ecx, 6
and edx, 0x3f
shl esi, 0xc
or esi, ecx
or esi, edx
add dword [ebx], 2
jmp 0x3dd3b18
test esi, 8
jne 0x3dd3a7b
mov ecx, dword [ebx]
xor eax, eax
and esi, 7
mov edx, dword [ebx]
mov al, byte [ecx + 1]
xor ecx, ecx
and eax, 0x3f
mov cl, byte [edx + 2]
shl eax, 0xc
and ecx, 0x3f
shl esi, 0x12
xor edx, edx
or esi, eax
mov eax, dword [ebx]
shl ecx, 6
or esi, ecx
mov dl, byte [eax + 3]
and edx, 0x3f
or esi, edx
add dword [ebx], 3
jmp 0x3dd3b18
test esi, 4
jne 0x3dd3ac7
mov ecx, dword [ebx]
xor eax, eax
mov edx, dword [ebx]
and esi, 3
mov al, byte [ecx + 1]
xor ecx, ecx
and eax, 0x3f
mov cl, byte [edx + 2]
shl eax, 0x12
and ecx, 0x3f
shl esi, 0x18
xor edx, edx
or esi, eax
mov eax, dword [ebx]
shl ecx, 0xc
or esi, ecx
mov ecx, dword [ebx]
mov dl, byte [eax + 3]
xor eax, eax
and edx, 0x3f
mov al, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or esi, edx
or esi, eax
add dword [ebx], 4
jmp 0x3dd3b18
mov edx, dword [ebx]
xor ecx, ecx
and esi, 1
mov eax, dword [ebx]
mov cl, byte [edx + 1]
xor edx, edx
and ecx, 0x3f
mov dl, byte [eax + 2]
shl ecx, 0x18
and edx, 0x3f
shl esi, 0x1e
xor eax, eax
or esi, ecx
mov ecx, dword [ebx]
shl edx, 0x12
or esi, edx
mov al, byte [ecx + 3]
and eax, 0x3f
mov edx, dword [ebx]
shl eax, 0xc
xor ecx, ecx
or esi, eax
mov eax, dword [ebx]
mov cl, byte [edx + 4]
xor edx, edx
and ecx, 0x3f
mov dl, byte [eax + 5]
shl ecx, 6
and edx, 0x3f
or esi, ecx
or esi, edx
add dword [ebx], 5
cmp dword [ebp + 0x34], 0
je 0x3dd3b53
mov ecx, dword [ebp - 0x90]
cmp ecx, dword [ebp - 0x98]
jbe 0x3dd3b53
mov dword [ebp - 0x94], 1
mov eax, dword [ebp - 0x90]
mov edx, dword [ebp + 0x34]
sub eax, dword [ebp - 0x98]
add dword [edx], eax
mov ecx, dword [ebp - 0x98]
mov dword [ebp - 0x90], ecx
cmp dword [ebp - 0x64], 0
je 0x3dd3b83
cmp esi, 0x5c
jne 0x3dd4315
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x45
jne 0x3dd4315
xor ecx, ecx
mov dword [ebp - 0x64], ecx
inc dword [ebx]
jmp 0x3dd482a
cmp esi, 0x5b
jne 0x3dd3f09
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x3a
je 0x3dd3bb4
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x2e
je 0x3dd3bb4
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x3d
jne 0x3dd3f09
lea eax, [ebp - 0x70]
push eax
mov edx, dword [ebx]
push edx
call fcn.03dd2cc8
add esp, 8
test eax, eax
je 0x3dd3f09
xor ecx, ecx
mov dword [ebp - 0xfc], ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 8]
mov dword [ebp - 0x10c], edx
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x3a
je 0x3dd3bf9
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x1f
jmp 0x3dd7c84
add dword [ebx], 2
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x5e
jne 0x3dd3c1d
mov dword [ebp - 0xfc], 1
mov dword [ebp - 0xa0], 1
inc dword [ebx]
mov edx, dword [ebp - 0x70]
sub edx, dword [ebx]
push edx
mov ecx, dword [ebx]
push ecx
call fcn.03dd2d50
add esp, 8
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
jge 0x3dd3c4b
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1e
jmp 0x3dd7c84
test byte [ebp - 0x4c], 1
je 0x3dd3c62
cmp dword [ebp - 0x100], 2
jg 0x3dd3c62
xor edx, edx
mov dword [ebp - 0x100], edx
test byte [ebp - 0x49], 0x20
je 0x3dd3d5e
xor ecx, ecx
mov dword [ebp - 0x110], ecx
cmp dword [ebp - 0xfc], 0
je 0x3dd3c84
mov eax, 0xe
jmp 0x3dd3c86
xor eax, eax
add eax, dword [ebp - 0x100]
mov dword [ebp - 0x114], eax
mov edx, dword [ebp - 0x114]
cmp dword [edx*4 + 0x3e3aa08], 0
je 0x3dd3cc3
mov ecx, dword [ebp - 0x70]
inc ecx
mov dword [ebp - 0x74], ecx
mov ecx, dword [ebp - 0x114]
mov eax, dword [ecx*4 + 0x3e3aa08]
dec eax
mov dword [ebx], eax
jmp 0x3dd482a
mov edx, dword [ebp - 0x100]
sub edx, 8
je 0x3dd3cd9
dec edx
je 0x3dd3ce3
dec edx
je 0x3dd3cf6
jmp 0x3dd3d5e
mov dword [ebp - 0x110], 0xb
cmp dword [ebp - 0x110], 0
jne 0x3dd3cf6
mov dword [ebp - 0x110], 0xc
cmp dword [ebp - 0x110], 0
jne 0x3dd3d09
mov dword [ebp - 0x110], 0xd
cmp dword [ebp - 0xfc], 0
je 0x3dd3d16
mov cl, 4
jmp 0x3dd3d18
mov cl, 3
mov eax, dword [ebp - 0x90]
mov byte [eax], cl
inc dword [ebp - 0x90]
mov dl, byte [ebp - 0x110]
mov eax, dword [ebp - 0x90]
mov byte [eax], dl
inc dword [ebp - 0x90]
mov edx, dword [ebp - 0x90]
mov byte [edx], 0
inc dword [ebp - 0x90]
mov dword [ebp - 0xbc], 1
mov ecx, dword [ebp - 0x70]
inc ecx
mov dword [ebx], ecx
jmp 0x3dd482a
mov ecx, dword [ebp - 0x100]
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x100], ecx
push 0x20
mov eax, dword [ebp - 0x100]
mov edx, dword [eax*4 + 0x3e3a948]
add edx, dword [ebp - 0x10c]
push edx
lea ecx, [ebp - 0x264]
push ecx
call fcn.03b4ac3c
add esp, 0xc
mov eax, dword [ebp - 0x100]
mov edx, dword [eax*4 + 0x3e3a94c]
mov dword [ebp - 0x104], edx
mov ecx, dword [ebp - 0x100]
mov eax, dword [ecx*4 + 0x3e3a950]
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x104], 0
jl 0x3dd3e34
cmp dword [ebp - 0x108], 0
jl 0x3dd3dff
xor esi, esi
lea eax, [ebp - 0x264]
mov dword [ebp - 0x220], eax
mov edx, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x10c]
add edx, esi
mov eax, dword [ebp - 0x220]
inc esi
mov cl, byte [ecx + edx]
or byte [eax], cl
inc dword [ebp - 0x220]
cmp esi, 0x20
jb 0x3dd3dd8
jmp 0x3dd3e34
xor esi, esi
lea eax, [ebp - 0x264]
mov dword [ebp - 0x220], eax
mov edx, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x10c]
add edx, esi
mov eax, dword [ebp - 0x220]
inc esi
mov cl, byte [ecx + edx]
not cl
and byte [eax], cl
inc dword [ebp - 0x220]
cmp esi, 0x20
jb 0x3dd3e0d
cmp dword [ebp - 0x108], 0
jge 0x3dd3e43
neg dword [ebp - 0x108]
cmp dword [ebp - 0x108], 1
jne 0x3dd3e55
and byte [ebp - 0x263], 0xc3
jmp 0x3dd3e65
cmp dword [ebp - 0x108], 2
jne 0x3dd3e65
and byte [ebp - 0x259], 0x7f
cmp dword [ebp - 0xfc], 0
je 0x3dd3eae
xor esi, esi
lea eax, [ebp - 0x244]
mov dword [ebp - 0x224], eax
lea edx, [ebp - 0x264]
mov dword [ebp - 0x220], edx
mov ecx, dword [ebp - 0x220]
mov eax, dword [ebp - 0x224]
inc esi
mov cl, byte [ecx]
not cl
or byte [eax], cl
inc dword [ebp - 0x224]
inc dword [ebp - 0x220]
cmp esi, 0x20
jb 0x3dd3e88
jmp 0x3dd3eea
xor esi, esi
lea eax, [ebp - 0x244]
mov dword [ebp - 0x220], eax
lea edx, [ebp - 0x264]
mov dword [ebp - 0x224], edx
mov ecx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x220]
inc esi
mov cl, byte [ecx]
or byte [eax], cl
inc dword [ebp - 0x220]
inc dword [ebp - 0x224]
cmp esi, 0x20
jb 0x3dd3ec8
mov edx, dword [ebp - 0x70]
inc edx
mov dword [ebx], edx
mov dword [ebp - 0xb4], 1
mov dword [ebp - 0xb8], 2
jmp 0x3dd482a
cmp esi, 0x5c
jne 0x3dd4315
push 1
mov ecx, dword [ebp - 0x4c]
push ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x40]
lea eax, [ebp - 0xec]
push edx
mov ecx, dword [ebp + 0x14]
push ecx
push eax
push ebx
call fcn.03dd0164
add esp, 0x18
mov esi, eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x3dd7c84
test esi, esi
jne 0x3dd3f50
mov esi, dword [ebp - 0xec]
jmp 0x3dd4315
cmp esi, 5
jne 0x3dd3f5f
mov esi, 8
jmp 0x3dd4315
cmp esi, 0xc
jne 0x3dd3f77
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x47
jmp 0x3dd7c84
cmp esi, 0x1a
jne 0x3dd3fad
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x5c
jne 0x3dd3f9c
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 2]
cmp eax, 0x45
jne 0x3dd3f9c
add dword [ebx], 2
jmp 0x3dd482a
mov dword [ebp - 0x64], 1
jmp 0x3dd482a
cmp esi, 0x19
je 0x3dd482a
mov edx, dword [ebp + 0x30]
mov eax, esi
add eax, 0xfffffffa
mov ecx, dword [edx + 8]
mov dword [ebp - 0x118], ecx
inc dword [ebp - 0xb4]
add dword [ebp - 0xb8], 2
cmp eax, 0x1c
ja 0x3dd42e3
mov al, byte [eax + 0x3dd33ea]
jmp dword [eax*4 + 0x3dd3407]
test byte [ebp - 0x4c], 0x40
je 0x3dd42f7
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 7
jmp 0x3dd7c84
dec dword [ebp - 0xb4]
sub dword [ebp - 0xb8], 2
mov eax, dword [ebx]
movzx esi, byte [eax]
jmp 0x3dd4315
xor eax, eax
mov dword [ebp - 0x64], eax
add dword [ebx], 2
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x5c
jne 0x3dd432d
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 2]
cmp eax, 0x45
je 0x3dd430d
mov edx, dword [ebx]
cmp esi, 0xd
mov dword [ebp - 0xf8], edx
je 0x3dd433f
cmp esi, 0xa
jne 0x3dd4349
mov ecx, dword [ebp + 0x30]
or dword [ecx + 0x64], 0x800
cmp dword [ebp - 0x64], 0
jne 0x3dd46c4
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x2d
jne 0x3dd46c4
add dword [ebx], 2
jmp 0x3dd436b
add dword [ebx], 2
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x5c
jne 0x3dd43ac
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x45
je 0x3dd4368
jmp 0x3dd43ac
add dword [ebx], 2
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x5c
jne 0x3dd43a3
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x45
jne 0x3dd43a3
add dword [ebx], 2
jmp 0x3dd43ac
mov dword [ebp - 0x64], 1
jmp 0x3dd43c3
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x5c
jne 0x3dd43c3
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x51
je 0x3dd4384
mov ecx, dword [ebx]
cmp byte [ecx], 0
je 0x3dd43db
cmp dword [ebp - 0x64], 0
jne 0x3dd43e8
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x5d
jne 0x3dd43e8
mov ecx, dword [ebp - 0xf8]
mov dword [ebx], ecx
jmp 0x3dd46c4
cmp dword [ebp - 0x84], 0
je 0x3dd4582
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
mov dword [ebp - 0x128], edx
cmp dword [ebp - 0x128], 0xc0
jb 0x3dd458d
test byte [ebp - 0x128], 0x20
jne 0x3dd443f
mov eax, dword [ebx]
mov ecx, dword [ebp - 0x128]
and ecx, 0x1f
xor edx, edx
mov dl, byte [eax + 1]
shl ecx, 6
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x128], ecx
inc dword [ebx]
jmp 0x3dd458d
test byte [ebp - 0x128], 0x10
jne 0x3dd447d
mov eax, dword [ebx]
xor edx, edx
mov ecx, dword [ebp - 0x128]
and ecx, 0xf
mov dl, byte [eax + 1]
and edx, 0x3f
mov eax, dword [ebx]
shl edx, 6
shl ecx, 0xc
or ecx, edx
xor edx, edx
mov dl, byte [eax + 2]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x128], ecx
add dword [ebx], 2
jmp 0x3dd458d
test byte [ebp - 0x128], 8
jne 0x3dd44ca
mov eax, dword [ebx]
xor edx, edx
mov ecx, dword [ebp - 0x128]
and ecx, 7
mov dl, byte [eax + 1]
and edx, 0x3f
mov eax, dword [ebx]
shl edx, 0xc
shl ecx, 0x12
or ecx, edx
xor edx, edx
mov dl, byte [eax + 2]
mov eax, dword [ebx]
and edx, 0x3f
shl edx, 6
or ecx, edx
xor edx, edx
mov dl, byte [eax + 3]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x128], ecx
add dword [ebx], 3
jmp 0x3dd458d
test byte [ebp - 0x128], 4
jne 0x3dd4523
mov eax, dword [ebx]
xor edx, edx
mov ecx, dword [ebp - 0x128]
and ecx, 3
mov dl, byte [eax + 1]
and edx, 0x3f
mov eax, dword [ebx]
shl edx, 0x12
shl ecx, 0x18
or ecx, edx
xor edx, edx
mov dl, byte [eax + 2]
mov eax, dword [ebx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
xor edx, edx
mov dl, byte [eax + 3]
mov eax, dword [ebx]
and edx, 0x3f
shl edx, 6
or ecx, edx
xor edx, edx
mov dl, byte [eax + 4]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x128], ecx
add dword [ebx], 4
jmp 0x3dd458d
mov eax, dword [ebx]
xor edx, edx
mov ecx, dword [ebp - 0x128]
and ecx, 1
mov dl, byte [eax + 1]
and edx, 0x3f
mov eax, dword [ebx]
shl edx, 0x18
shl ecx, 0x1e
or ecx, edx
xor edx, edx
mov dl, byte [eax + 2]
mov eax, dword [ebx]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
xor edx, edx
mov dl, byte [eax + 3]
mov eax, dword [ebx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
xor edx, edx
mov dl, byte [eax + 4]
mov eax, dword [ebx]
and edx, 0x3f
shl edx, 6
or ecx, edx
xor edx, edx
mov dl, byte [eax + 5]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x128], ecx
add dword [ebx], 5
jmp 0x3dd458d
mov ecx, dword [ebx]
movzx ecx, byte [ecx]
mov dword [ebp - 0x128], ecx
cmp dword [ebp - 0x64], 0
jne 0x3dd464f
cmp dword [ebp - 0x128], 0x5c
jne 0x3dd4601
push 1
mov eax, dword [ebp - 0x4c]
push eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x40]
lea edx, [ebp - 0x128]
push ecx
mov eax, dword [ebp + 0x14]
push eax
push edx
push ebx
call fcn.03dd0164
add esp, 0x18
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 0
jne 0x3dd7c84
cmp dword [ebp - 0x12c], 0
je 0x3dd464f
cmp dword [ebp - 0x12c], 5
jne 0x3dd45f1
mov dword [ebp - 0x128], 8
jmp 0x3dd464f
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x53
jmp 0x3dd7c84
cmp dword [ebp - 0x128], 0x5b
jne 0x3dd464f
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x3a
je 0x3dd462e
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x2e
je 0x3dd462e
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x3d
jne 0x3dd464f
lea edx, [ebp - 0x70]
push edx
mov ecx, dword [ebx]
push ecx
call fcn.03dd2cc8
add esp, 8
test eax, eax
je 0x3dd464f
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x53
jmp 0x3dd7c84
cmp esi, dword [ebp - 0x128]
jbe 0x3dd4665
mov edx, dword [ebp + 0x14]
mov dword [edx], 8
jmp 0x3dd7c84
cmp esi, dword [ebp - 0x128]
je 0x3dd46c4
mov dword [ebp - 0xb8], 2
cmp dword [ebp - 0x128], 0xd
je 0x3dd4689
cmp dword [ebp - 0x128], 0xa
jne 0x3dd4693
mov ecx, dword [ebp + 0x30]
or dword [ecx + 0x64], 0x800
mov eax, dword [ebp - 0x128]
push eax
push esi
mov edx, dword [ebp + 0x30]
lea eax, [ebp - 0x90]
push edx
lea edx, [ebp - 0x244]
mov ecx, dword [ebp - 0x4c]
push ecx
push eax
push edx
call fcn.03dd3008
add esp, 0x18
add dword [ebp - 0xb4], eax
jmp 0x3dd482a
cmp dword [ebp - 0xb8], 2
jge 0x3dd46d3
inc dword [ebp - 0xb8]
cmp dword [ebp - 0xb8], 1
jne 0x3dd4804
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x5d
jne 0x3dd4804
inc dword [ebx]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x30], edx
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x9c], 0
je 0x3dd47c4
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x3dd4718
mov dword [ebp - 0x28], 0xffffffff
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x84], 0
je 0x3dd478c
test byte [ebp - 0x4c], 1
je 0x3dd478c
mov ecx, esi
test ecx, ecx
jns 0x3dd473c
add ecx, 0x7f
sar ecx, 7
xor eax, eax
mov al, byte [ecx + 0x3e4a73c]
shl eax, 7
mov edx, esi
and edx, 0x8000007f
jns 0x3dd4759
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx ecx, word [eax*2 + 0x3e3dc3c]
xor eax, eax
mov al, byte [ecx*8 + 0x3e3c8a7]
mov dword [ebp - 0x130], eax
test eax, eax
je 0x3dd478c
mov byte [edi], 0xf
inc edi
mov byte [edi], 9
inc edi
mov dl, byte [ebp - 0x130]
mov byte [edi], dl
inc edi
jmp 0x3dd7c7d
test byte [ebp - 0x4c], 1
je 0x3dd4796
mov cl, 0x20
jmp 0x3dd4798
mov cl, 0x1f
mov byte [edi], cl
inc edi
cmp dword [ebp - 0x84], 0
je 0x3dd47ba
cmp esi, 0x7f
jbe 0x3dd47ba
push edi
push esi
call fcn.03debfb0
add esp, 8
add edi, eax
jmp 0x3dd7c7d
mov eax, esi
mov byte [edi], al
inc edi
jmp 0x3dd7c7d
cmp dword [ebp - 0x84], 0
je 0x3dd47ed
cmp esi, 0x7f
jbe 0x3dd47ed
lea edx, [ebp - 0xf4]
push edx
push esi
call fcn.03debfb0
add esp, 8
mov dword [ebp - 0xe4], eax
jmp 0x3dd79b0
mov ecx, esi
mov byte [ebp - 0xf4], cl
mov dword [ebp - 0xe4], 1
jmp 0x3dd79b0
push esi
push esi
mov eax, dword [ebp + 0x30]
lea ecx, [ebp - 0x90]
push eax
lea eax, [ebp - 0x244]
mov edx, dword [ebp - 0x4c]
push edx
push ecx
push eax
call fcn.03dd3008
add esp, 0x18
add dword [ebp - 0xb4], eax
inc dword [ebx]
mov edx, dword [ebx]
movzx esi, byte [edx]
test esi, esi
jne 0x3dd4850
cmp dword [ebp - 0x74], 0
je 0x3dd4863
mov eax, dword [ebp - 0x74]
xor edx, edx
mov dword [ebx], eax
mov dword [ebp - 0x74], edx
inc dword [ebx]
mov ecx, dword [ebx]
movzx esi, byte [ecx]
test esi, esi
je 0x3dd4863
cmp esi, 0x5d
jne 0x3dd39c0
cmp dword [ebp - 0x64], 0
jne 0x3dd39c0
test esi, esi
jne 0x3dd4875
mov eax, dword [ebp + 0x14]
mov dword [eax], 6
jmp 0x3dd7c84
mov edx, dword [ebp - 0x90]
cmp edx, dword [ebp - 0x98]
jbe 0x3dd488d
mov dword [ebp - 0x94], 1
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x3dd489a
mov dword [ebp - 0x28], 0xffffffff
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x94], 0
je 0x3dd49a0
cmp dword [ebp - 0xa0], 0
je 0x3dd48d2
test byte [ebp - 0x49], 0x20
je 0x3dd49a0
mov ecx, dword [ebp - 0x90]
mov byte [ecx], 0
inc dword [ebp - 0x90]
mov byte [edi], 0x70
inc edi
add edi, 2
cmp dword [ebp - 0x9c], 0
je 0x3dd48f5
mov al, 1
jmp 0x3dd48f7
xor eax, eax
mov byte [edi], al
cmp dword [ebp - 0xbc], 0
je 0x3dd4905
or byte [edi], 4
cmp dword [ebp - 0xb4], 0
jle 0x3dd4979
or byte [edi], 2
inc edi
mov edx, dword [ebp - 0x90]
sub edx, edi
lea ecx, [edi + 0x20]
push edx
push edi
push ecx
call fcn.03dcffdc
add esp, 0xc
cmp dword [ebp - 0x9c], 0
je 0x3dd495c
cmp dword [ebp - 0xbc], 0
jne 0x3dd495c
xor esi, esi
lea eax, [ebp - 0x244]
mov dword [ebp - 0x220], eax
mov edx, dword [ebp - 0x220]
not byte [edx]
inc esi
inc dword [ebp - 0x220]
cmp esi, 0x20
jb 0x3dd4948
push 0x20
lea ecx, [ebp - 0x244]
push ecx
push edi
call fcn.03b4ac3c
add esp, 0xc
mov edi, dword [ebp - 0x90]
add edi, 0x20
jmp 0x3dd497f
mov edi, dword [ebp - 0x90]
mov eax, edi
mov edx, dword [ebp - 0x78]
sub eax, dword [ebp - 0x78]
mov ecx, edi
sar eax, 8
mov byte [edx + 1], al
sub ecx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x78]
and cl, 0xff
mov byte [esi + 2], cl
jmp 0x3dd7c7d
mov eax, dword [ebp - 0x9c]
cmp eax, dword [ebp - 0xa0]
jne 0x3dd49b2
mov dl, 0x6e
jmp 0x3dd49b4
mov dl, 0x6f
mov byte [edi], dl
inc edi
cmp dword [ebp + 0x34], 0
jne 0x3dd49fa
cmp dword [ebp - 0x9c], 0
je 0x3dd49e8
xor esi, esi
lea eax, [ebp - 0x244]
mov dword [ebp - 0x220], eax
mov edx, dword [ebp - 0x220]
not byte [edx]
inc esi
inc dword [ebp - 0x220]
cmp esi, 0x20
jb 0x3dd49d4
push 0x20
lea ecx, [ebp - 0x244]
push ecx
push edi
call fcn.03b4ac3c
add esp, 0xc
add edi, 0x20
jmp 0x3dd7c7d
cmp dword [ebp - 0xa8], 0
je 0x3dd795d
mov ecx, dword [ebp + 0x14]
push ecx
lea eax, [ebp - 0x10]
push eax
lea edx, [ebp - 0xc]
push edx
mov ecx, dword [ebx]
inc ecx
push ecx
call fcn.03dd0afc
add esp, 0x10
mov dword [ebx], eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x3dd7c84
jmp 0x3dd4a61
xor edx, edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x10], 0xffffffff
jmp 0x3dd4a61
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x10], 0xffffffff
jmp 0x3dd4a61
xor ecx, ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], 1
cmp dword [ebp - 0x78], 0
jne 0x3dd4a75
mov eax, dword [ebp + 0x14]
mov dword [eax], 9
jmp 0x3dd7c84
cmp dword [ebp - 0xc], 0
jne 0x3dd4a93
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x2c], edx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x10]
jne 0x3dd4a9f
xor eax, eax
jmp 0x3dd4aa4
mov eax, 2
mov dword [ebp - 0x44], eax
xor edx, edx
mov dword [ebp - 8], edx
xor ecx, ecx
mov dword [ebp - 0xa4], ecx
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x60], ecx
test byte [ebp - 0x4c], 8
je 0x3dd4bb9
mov esi, dword [ebx]
inc esi
jmp 0x3dd4aca
inc esi
mov edx, dword [ebp + 0x30]
xor eax, eax
mov al, byte [esi]
mov ecx, dword [edx + 0xc]
test byte [ecx + eax], 1
jne 0x3dd4ac9
xor ecx, ecx
mov cl, byte [esi]
cmp ecx, 0x23
jne 0x3dd4bb6
inc esi
jmp 0x3dd4ba8
mov eax, dword [ebp + 0x30]
cmp dword [eax + 0x7c], 0
je 0x3dd4b34
mov edx, dword [ebp + 0x30]
cmp esi, dword [edx + 0x1c]
jae 0x3dd4b29
mov ecx, dword [ebp - 0x84]
push ecx
mov eax, dword [ebp + 0x30]
add eax, 0x80
push eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x1c]
push ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x7c]
push edx
push esi
call fcn.03debb84
add esp, 0x14
test eax, eax
jne 0x3dd4b2d
xor ecx, ecx
jmp 0x3dd4b77
mov ecx, 1
jmp 0x3dd4b77
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x1c]
mov eax, dword [ebp + 0x30]
sub edx, dword [eax + 0x80]
cmp esi, edx
ja 0x3dd4b6e
mov dl, byte [esi]
mov ecx, dword [ebp + 0x30]
cmp dl, byte [ecx + 0x84]
jne 0x3dd4b6e
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x80], 1
je 0x3dd4b72
mov al, byte [esi + 1]
mov edx, dword [ebp + 0x30]
cmp al, byte [edx + 0x85]
je 0x3dd4b72
xor ecx, ecx
jmp 0x3dd4b77
mov ecx, 1
test ecx, ecx
je 0x3dd4b89
mov eax, dword [ebp + 0x30]
add esi, dword [eax + 0x80]
jmp 0x3dd4aca
inc esi
cmp dword [ebp - 0x84], 0
je 0x3dd4ba8
jmp 0x3dd4b96
inc esi
xor edx, edx
mov dl, byte [esi]
and edx, 0xc0
cmp edx, 0x80
je 0x3dd4b95
cmp byte [esi], 0
jne 0x3dd4aed
jmp 0x3dd4aca
dec esi
mov dword [ebx], esi
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x2b
jne 0x3dd4bd8
xor ecx, ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0xa4], 1
inc dword [ebx]
jmp 0x3dd4bf4
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x3f
jne 0x3dd4bee
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 4], edx
inc dword [ebx]
jmp 0x3dd4bf4
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x75
jne 0x3dd4cc2
push 3
mov ecx, dword [ebp - 0x78]
push ecx
mov eax, dword [ebp - 0x78]
add eax, 3
push eax
call fcn.03dcffdc
mov edx, dword [ebp - 0x78]
add esp, 0xc
add edi, 6
mov byte [edx], 0x81
mov ecx, dword [ebp - 0x78]
mov byte [ecx + 1], 0
mov eax, dword [ebp - 0x78]
mov byte [eax + 2], 6
mov edx, dword [ebp - 0x78]
mov byte [edx + 6], 0x78
mov ecx, dword [ebp - 0x78]
mov byte [ecx + 7], 0
mov eax, dword [ebp - 0x78]
mov byte [eax + 8], 6
mov dword [ebp - 0x54], 9
cmp dword [ebp + 0x34], 0
jne 0x3dd4cc2
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp + 0x30]
mov ecx, dword [edx + 0x20]
mov edx, dword [eax + 0x10]
add edx, 2
cmp ecx, edx
jb 0x3dd4cc2
mov ecx, dword [ebp + 0x30]
xor edx, edx
mov eax, dword [ecx + 0x20]
mov dl, byte [eax - 2]
mov eax, dword [ebp + 0x30]
shl edx, 8
mov ecx, dword [eax + 0x20]
xor eax, eax
mov al, byte [ecx - 1]
or edx, eax
mov dword [ebp - 0x134], edx
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp - 0x78]
inc edx
sub edx, dword [ecx + 0x14]
cmp edx, dword [ebp - 0x134]
jne 0x3dd4cc2
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x134]
add ecx, 3
sar ecx, 8
mov edx, dword [eax + 0x20]
mov byte [edx - 2], cl
mov eax, dword [ebp + 0x30]
mov cl, byte [ebp - 0x134]
add cl, 3
and cl, 0xff
mov edx, dword [eax + 0x20]
mov byte [edx - 1], cl
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x1d
je 0x3dd4cf6
mov edx, dword [ebp - 0x78]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x1e
je 0x3dd4cf6
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x1f
je 0x3dd4cf6
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x20
jne 0x3dd4dc4
mov edx, dword [ebp - 0x78]
mov cl, byte [edx]
sub cl, 0x1d
je 0x3dd4d0c
dec cl
je 0x3dd4d13
dec cl
je 0x3dd4d1c
dec cl
je 0x3dd4d25
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x3dd4d2c
mov dword [ebp - 8], 0xd
jmp 0x3dd4d2c
mov dword [ebp - 8], 0x1a
jmp 0x3dd4d2c
mov dword [ebp - 8], 0x27
cmp dword [ebp - 0x84], 0
je 0x3dd4d98
xor edx, edx
mov dl, byte [edi - 1]
and edx, 0xc0
cmp edx, 0x80
jne 0x3dd4d98
lea ecx, [edi - 1]
mov dword [ebp - 0x138], ecx
jmp 0x3dd4d59
dec dword [ebp - 0x138]
mov eax, dword [ebp - 0x138]
xor edx, edx
mov dl, byte [eax]
and edx, 0xc0
cmp edx, 0x80
je 0x3dd4d53
mov esi, edi
sub esi, dword [ebp - 0x138]
push esi
mov eax, dword [ebp - 0x138]
push eax
lea edx, [ebp - 0x8c]
push edx
call fcn.03b4ac3c
add esp, 0xc
or esi, 0x10000000
jmp 0x3dd4de1
movzx esi, byte [edi - 1]
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x1e
jg 0x3dd4de1
cmp dword [ebp - 0xc], 1
jle 0x3dd4de1
mov dword [ebp - 0x24], esi
mov ecx, dword [ebp + 0x30]
mov ecx, dword [ecx + 0x68]
or ecx, dword [ebp - 0x40]
mov dword [ebp - 0x2c], ecx
jmp 0x3dd4de1
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x17
jge 0x3dd5044
mov dword [ebp - 8], 0x34
mov ecx, dword [ebp - 0x78]
movzx esi, byte [ecx]
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x10
je 0x3dd4df8
mov ecx, dword [ebp - 0x78]
movzx ecx, byte [ecx]
cmp ecx, 0xf
jne 0x3dd4e16
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax + 1]
mov dword [ebp - 0x140], edx
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx + 2]
mov dword [ebp - 0x144], eax
jmp 0x3dd4e25
or edx, 0xffffffff
mov dword [ebp - 0x144], edx
mov dword [ebp - 0x140], edx
mov dword [ebp - 0x13c], edi
cmp dword [ebp - 0x10], 0
mov edi, dword [ebp - 0x78]
je 0x3dd5b33
mov eax, dword [ebp - 8]
add dword [ebp - 4], eax
cmp dword [ebp - 0xc], 0
jne 0x3dd4e8e
cmp dword [ebp - 0x10], 0xffffffff
jne 0x3dd4e58
mov dl, byte [ebp - 4]
add dl, 0x21
mov byte [edi], dl
inc edi
jmp 0x3dd4fed
cmp dword [ebp - 0x10], 1
jne 0x3dd4e6c
mov cl, byte [ebp - 4]
add cl, 0x25
mov byte [edi], cl
inc edi
jmp 0x3dd4fed
mov cl, byte [ebp - 4]
add cl, 0x27
mov byte [edi], cl
inc edi
mov eax, dword [ebp - 0x10]
sar eax, 8
mov byte [edi], al
mov dl, byte [ebp - 0x10]
and dl, 0xff
mov byte [edi + 1], dl
add edi, 2
jmp 0x3dd4fed
cmp dword [ebp - 0xc], 1
jne 0x3dd4edd
cmp dword [ebp - 0x10], 0xffffffff
jne 0x3dd4ea8
mov cl, byte [ebp - 4]
add cl, 0x23
mov byte [edi], cl
inc edi
jmp 0x3dd4fed
cmp dword [ebp - 0x10], 1
mov edi, dword [ebp - 0x13c]
je 0x3dd5b33
mov al, byte [ebp - 4]
add al, 0x27
mov byte [edi], al
inc edi
mov edx, dword [ebp - 0x10]
dec edx
sar edx, 8
mov byte [edi], dl
mov cl, byte [ebp - 0x10]
add cl, 0xff
and cl, 0xff
mov byte [edi + 1], cl
add edi, 2
jmp 0x3dd4fed
mov cl, byte [ebp - 8]
add cl, 0x29
mov byte [edi], cl
inc edi
mov eax, dword [ebp - 0xc]
sar eax, 8
mov byte [edi], al
mov dl, byte [ebp - 0xc]
and dl, 0xff
mov byte [edi + 1], dl
add edi, 2
cmp dword [ebp - 0x10], 0
jge 0x3dd4f5e
cmp dword [ebp - 0x84], 0
je 0x3dd4f30
test esi, 0x10000000
je 0x3dd4f30
mov ecx, esi
lea eax, [ebp - 0x8c]
and ecx, 7
push ecx
push eax
push edi
call fcn.03b4ac3c
add esp, 0xc
mov edx, esi
and edx, 7
add edi, edx
jmp 0x3dd4f50
mov ecx, esi
mov byte [edi], cl
inc edi
cmp dword [ebp - 0x140], 0
jl 0x3dd4f50
mov al, byte [ebp - 0x140]
mov byte [edi], al
inc edi
mov dl, byte [ebp - 0x144]
mov byte [edi], dl
inc edi
mov cl, byte [ebp - 4]
add cl, 0x21
mov byte [edi], cl
inc edi
jmp 0x3dd4fed
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0xc]
je 0x3dd4fed
cmp dword [ebp - 0x84], 0
je 0x3dd4f9a
test esi, 0x10000000
je 0x3dd4f9a
mov edx, esi
lea ecx, [ebp - 0x8c]
and edx, 7
push edx
push ecx
push edi
call fcn.03b4ac3c
add esp, 0xc
mov eax, esi
and eax, 7
add edi, eax
jmp 0x3dd4f9f
mov edx, esi
mov byte [edi], dl
inc edi
cmp dword [ebp - 0x140], 0
jl 0x3dd4fba
mov cl, byte [ebp - 0x140]
mov byte [edi], cl
inc edi
mov al, byte [ebp - 0x144]
mov byte [edi], al
inc edi
mov edx, dword [ebp - 0xc]
sub dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 1
jne 0x3dd4fd1
mov cl, byte [ebp - 4]
add cl, 0x25
mov byte [edi], cl
inc edi
jmp 0x3dd4fed
mov al, byte [ebp - 4]
add al, 0x27
mov byte [edi], al
inc edi
mov edx, dword [ebp - 0x10]
sar edx, 8
mov byte [edi], dl
mov cl, byte [ebp - 0x10]
and cl, 0xff
mov byte [edi + 1], cl
add edi, 2
cmp dword [ebp - 0x84], 0
je 0x3dd501b
test esi, 0x10000000
je 0x3dd501b
mov eax, esi
lea edx, [ebp - 0x8c]
and eax, 7
push eax
push edx
push edi
call fcn.03b4ac3c
add esp, 0xc
and esi, 7
add edi, esi
jmp 0x3dd5020
mov ecx, esi
mov byte [edi], cl
inc edi
cmp dword [ebp - 0x140], 0
jl 0x3dd596c
mov al, byte [ebp - 0x140]
mov byte [edi], al
inc edi
mov dl, byte [ebp - 0x144]
mov byte [edi], dl
inc edi
jmp 0x3dd596c
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x6e
je 0x3dd509c
mov edx, dword [ebp - 0x78]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x6f
je 0x3dd509c
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x70
je 0x3dd509c
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x71
je 0x3dd509c
mov edx, dword [ebp - 0x78]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x72
je 0x3dd509c
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x73
je 0x3dd509c
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x74
jne 0x3dd5138
cmp dword [ebp - 0x10], 0
jne 0x3dd50aa
mov edi, dword [ebp - 0x78]
jmp 0x3dd5b33
cmp dword [ebp - 0xc], 0
jne 0x3dd50c3
cmp dword [ebp - 0x10], 0xffffffff
jne 0x3dd50c3
mov al, byte [ebp - 4]
add al, 0x62
mov byte [edi], al
inc edi
jmp 0x3dd596c
cmp dword [ebp - 0xc], 1
jne 0x3dd50dd
cmp dword [ebp - 0x10], 0xffffffff
jne 0x3dd50dd
mov dl, byte [ebp - 4]
add dl, 0x64
mov byte [edi], dl
inc edi
jmp 0x3dd596c
cmp dword [ebp - 0xc], 0
jne 0x3dd50f7
cmp dword [ebp - 0x10], 1
jne 0x3dd50f7
mov cl, byte [ebp - 4]
add cl, 0x66
mov byte [edi], cl
inc edi
jmp 0x3dd596c
mov cl, byte [ebp - 4]
add cl, 0x68
mov byte [edi], cl
inc edi
mov eax, dword [ebp - 0xc]
sar eax, 8
mov byte [edi], al
mov dl, byte [ebp - 0xc]
and dl, 0xff
mov byte [edi + 1], dl
add edi, 2
cmp dword [ebp - 0x10], 0xffffffff
jne 0x3dd511f
xor ecx, ecx
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
sar eax, 8
mov byte [edi], al
mov dl, byte [ebp - 0x10]
and dl, 0xff
mov byte [edi + 1], dl
add edi, 2
jmp 0x3dd596c
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x7d
jl 0x3dd594c
mov edx, dword [ebp - 0x78]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x87
jg 0x3dd594c
mov esi, edi
xor eax, eax
sub esi, dword [ebp - 0x78]
xor edx, edx
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x150], edx
mov ecx, dword [ebp - 0x78]
movzx ecx, byte [ecx]
cmp ecx, 0x87
jne 0x3dd5192
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax + 3]
cmp edx, 0x91
je 0x3dd5b33
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x81
jge 0x3dd51bd
cmp dword [ebp - 0xc], 0
jg 0x3dd5b33
cmp dword [ebp - 0x10], 0
jl 0x3dd51b6
cmp dword [ebp - 0x10], 1
jle 0x3dd51bd
mov dword [ebp - 0x10], 1
cmp dword [ebp - 0xc], 0
jne 0x3dd52c8
cmp dword [ebp - 0x10], 1
jg 0x3dd522c
mov byte [edi], 0
mov edx, dword [ebp - 0x80]
push edx
mov ecx, dword [ebp + 0x30]
push ecx
mov eax, dword [ebp - 0x84]
push eax
push 1
mov edx, dword [ebp - 0x78]
push edx
call fcn.03dd2da4
add esp, 0x14
push esi
mov ecx, dword [ebp - 0x78]
push ecx
mov eax, dword [ebp - 0x78]
inc eax
push eax
call fcn.03dcffdc
add esp, 0xc
inc edi
cmp dword [ebp - 0x10], 0
jne 0x3dd5211
mov edx, dword [ebp - 0x78]
mov byte [edx], 0xa1
jmp 0x3dd5b33
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x150], ecx
mov edx, dword [ebp - 0x78]
mov al, byte [ebp - 4]
add al, 0x92
mov byte [edx], al
inc dword [ebp - 0x78]
jmp 0x3dd52c0
mov byte [edi], 0
mov ecx, dword [ebp - 0x80]
push ecx
mov eax, dword [ebp + 0x30]
push eax
mov edx, dword [ebp - 0x84]
push edx
push 4
mov ecx, dword [ebp - 0x78]
push ecx
call fcn.03dd2da4
add esp, 0x14
push esi
mov eax, dword [ebp - 0x78]
push eax
mov edx, dword [ebp - 0x78]
add edx, 4
push edx
call fcn.03dcffdc
mov eax, dword [ebp - 0x78]
mov cl, byte [ebp - 4]
add cl, 0x92
add esp, 0xc
mov byte [eax], cl
add edi, 4
inc dword [ebp - 0x78]
mov edx, dword [ebp - 0x78]
mov byte [edx], 0x83
inc dword [ebp - 0x78]
cmp dword [ebp - 0x14c], 0
jne 0x3dd5287
xor ecx, ecx
jmp 0x3dd5290
mov ecx, dword [ebp - 0x78]
sub ecx, dword [ebp - 0x14c]
mov dword [ebp - 0x154], ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x14c], eax
mov edx, dword [ebp - 0x154]
mov eax, dword [ebp - 0x78]
sar edx, 8
mov byte [eax], dl
mov ecx, dword [ebp - 0x78]
mov dl, byte [ebp - 0x154]
and dl, 0xff
mov byte [ecx + 1], dl
add dword [ebp - 0x78], 2
dec dword [ebp - 0x10]
jmp 0x3dd5484
cmp dword [ebp - 0xc], 1
jle 0x3dd5478
cmp dword [ebp + 0x34], 0
je 0x3dd533c
mov ecx, dword [ebp - 0xc]
dec ecx
imul ecx, dword [ebp - 0x54]
mov dword [ebp - 0x158], ecx
mov eax, dword [ebp - 0xc]
dec eax
mov dword [ebp - 0x268], eax
fild dword [ebp - 0x268]
fild dword [ebp - 0x54]
fmulp st(1)
fld qword [0x3dd7094]
fxch st(1)
fucompp
fnstsw ax
test ah, 0x45
je 0x3dd531e
mov edx, dword [ebp + 0x34]
mov ecx, 0x7fffffeb
sub ecx, dword [edx]
cmp ecx, dword [ebp - 0x158]
jge 0x3dd532c
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x14
jmp 0x3dd7c84
mov eax, dword [ebp + 0x34]
mov edx, dword [ebp - 0x158]
add dword [eax], edx
jmp 0x3dd5478
cmp dword [ebp - 0x68], 0
je 0x3dd5354
cmp dword [ebp - 0x2c], 0
jge 0x3dd5354
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x148], 1
mov edx, dword [ebp - 0x148]
cmp edx, dword [ebp - 0xc]
jge 0x3dd5478
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x20]
mov dword [ebp - 0x15c], eax
push esi
mov edx, dword [ebp - 0x78]
push edx
push edi
call fcn.03b4ac3c
add esp, 0xc
jmp 0x3dd53e6
mov ecx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x80]
sub eax, dword [ecx + 0x10]
mov dword [ebp - 0x160], eax
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x15c]
sub eax, dword [edx + 0x10]
mov dword [ebp - 0x164], eax
mov edx, dword [ebp + 0x30]
push edx
call fcn.03dd004c
pop ecx
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 0
jne 0x3dd7c84
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x10]
add edx, dword [ebp - 0x160]
mov dword [ebp - 0x80], edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x10]
add eax, dword [ebp - 0x164]
mov dword [ebp - 0x15c], eax
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp + 0x30]
mov ecx, dword [edx + 0x10]
mov edx, dword [ebp - 0x15c]
add ecx, dword [eax + 0x3c]
sub edx, dword [ebp - 0x80]
mov eax, dword [ebp + 0x30]
add ecx, 0xffffff9c
sub ecx, edx
cmp ecx, dword [eax + 0x20]
jb 0x3dd5389
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x15c]
jae 0x3dd5458
xor edx, edx
xor ecx, ecx
mov dl, byte [eax]
mov cl, byte [eax + 1]
shl edx, 8
or edx, ecx
mov ecx, dword [ebp + 0x30]
add edx, esi
sar edx, 8
mov ecx, dword [ecx + 0x20]
mov byte [ecx], dl
mov ecx, esi
mov dl, byte [eax]
shl edx, 8
or dl, byte [eax + 1]
add dl, cl
mov ecx, dword [ebp + 0x30]
and dl, 0xff
mov ecx, dword [ecx + 0x20]
mov byte [ecx + 1], dl
mov edx, dword [ebp + 0x30]
add dword [edx + 0x20], 2
add eax, 2
cmp eax, dword [ebp - 0x15c]
jb 0x3dd5413
mov eax, dword [ebp - 0x15c]
add edi, esi
mov dword [ebp - 0x80], eax
inc dword [ebp - 0x148]
mov ecx, dword [ebp - 0x148]
cmp ecx, dword [ebp - 0xc]
jl 0x3dd536d
cmp dword [ebp - 0x10], 0
jle 0x3dd5484
mov eax, dword [ebp - 0xc]
sub dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jl 0x3dd571c
cmp dword [ebp + 0x34], 0
je 0x3dd5505
cmp dword [ebp - 0x10], 0
jle 0x3dd5505
mov edx, dword [ebp - 0x54]
add edx, 7
imul edx, dword [ebp - 0x10]
add edx, 0xfffffffa
mov dword [ebp - 0x168], edx
fild dword [ebp - 0x10]
mov ecx, dword [ebp - 0x54]
add ecx, 7
mov dword [ebp - 0x26c], ecx
fild dword [ebp - 0x26c]
fmulp st(1)
fld qword [0x3dd7094]
fxch st(1)
fucompp
fnstsw ax
test ah, 0x45
je 0x3dd54e7
mov edx, dword [ebp + 0x34]
mov eax, 0x7fffffeb
sub eax, dword [edx]
cmp eax, dword [ebp - 0x168]
jge 0x3dd54f5
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x14
jmp 0x3dd7c84
mov ecx, dword [ebp + 0x34]
mov esi, dword [ebp - 0x168]
add dword [ecx], esi
jmp 0x3dd569e
mov eax, dword [ebp - 0x10]
dec eax
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 0
jl 0x3dd569e
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x20]
mov dword [ebp - 0x16c], ecx
mov cl, byte [ebp - 4]
add cl, 0x92
mov byte [edi], cl
inc edi
cmp dword [ebp - 0x148], 0
je 0x3dd5579
mov byte [edi], 0x83
inc edi
cmp dword [ebp - 0x14c], 0
jne 0x3dd554b
xor eax, eax
jmp 0x3dd5553
mov eax, edi
sub eax, dword [ebp - 0x14c]
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x14c], edi
mov edx, dword [ebp - 0x170]
sar edx, 8
mov byte [edi], dl
mov cl, byte [ebp - 0x170]
and cl, 0xff
mov byte [edi + 1], cl
add edi, 2
push esi
mov ecx, dword [ebp - 0x78]
push ecx
push edi
call fcn.03b4ac3c
add esp, 0xc
jmp 0x3dd55e6
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0x80]
sub edx, dword [eax + 0x10]
mov dword [ebp - 0x174], edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x16c]
sub eax, dword [ecx + 0x10]
mov dword [ebp - 0x178], eax
mov edx, dword [ebp + 0x30]
push edx
call fcn.03dd004c
pop ecx
mov edx, dword [ebp + 0x14]
mov dword [edx], eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x3dd7c84
mov ecx, dword [ebp + 0x30]
mov ecx, dword [ecx + 0x10]
add ecx, dword [ebp - 0x174]
mov dword [ebp - 0x80], ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x10]
add edx, dword [ebp - 0x178]
mov dword [ebp - 0x16c], edx
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x10]
mov ecx, dword [ebp + 0x30]
add eax, dword [edx + 0x3c]
mov edx, dword [ebp - 0x16c]
sub edx, dword [ebp - 0x80]
add eax, 0xffffff9c
sub eax, edx
cmp eax, dword [ecx + 0x20]
jb 0x3dd5589
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x16c]
jae 0x3dd5680
xor edx, edx
xor ecx, ecx
mov dl, byte [eax]
mov cl, byte [eax + 1]
shl edx, 8
or edx, ecx
add edx, esi
cmp dword [ebp - 0x148], 0
je 0x3dd5633
mov ecx, 4
jmp 0x3dd5638
mov ecx, 1
add edx, ecx
mov ecx, dword [ebp + 0x30]
sar edx, 8
mov ecx, dword [ecx + 0x20]
mov byte [ecx], dl
mov ecx, esi
mov dl, byte [eax]
shl edx, 8
or dl, byte [eax + 1]
add dl, cl
cmp dword [ebp - 0x148], 0
je 0x3dd565e
mov cl, 4
jmp 0x3dd5660
mov cl, 1
add dl, cl
mov ecx, dword [ebp + 0x30]
and dl, 0xff
mov ecx, dword [ecx + 0x20]
mov byte [ecx + 1], dl
mov edx, dword [ebp + 0x30]
add dword [edx + 0x20], 2
add eax, 2
cmp eax, dword [ebp - 0x16c]
jb 0x3dd5613
mov eax, dword [ebp - 0x16c]
add edi, esi
mov dword [ebp - 0x80], eax
dec dword [ebp - 0x148]
cmp dword [ebp - 0x148], 0
jge 0x3dd551c
cmp dword [ebp - 0x14c], 0
je 0x3dd596c
mov eax, edi
sub eax, dword [ebp - 0x14c]
inc eax
mov edx, edi
sub edx, eax
xor ecx, ecx
mov cl, byte [edx + 1]
shl ecx, 8
movzx esi, byte [edx + 2]
or ecx, esi
mov dword [ebp - 0x17c], ecx
cmp dword [ebp - 0x17c], 0
jne 0x3dd56d9
xor ecx, ecx
jmp 0x3dd56e5
mov ecx, dword [ebp - 0x14c]
sub ecx, dword [ebp - 0x17c]
mov dword [ebp - 0x14c], ecx
mov byte [edi], 0x78
inc edi
mov ecx, eax
sar ecx, 8
mov byte [edi], cl
mov ecx, eax
and cl, 0xff
mov byte [edi + 1], cl
mov ecx, eax
sar ecx, 8
add edi, 2
and al, 0xff
mov byte [edx + 1], cl
mov byte [edx + 2], al
cmp dword [ebp - 0x14c], 0
jne 0x3dd56ab
jmp 0x3dd596c
lea eax, [edi - 3]
xor ecx, ecx
mov dword [ebp - 0x180], eax
mov edx, dword [ebp - 0x180]
mov eax, dword [ebp - 0x180]
mov esi, dword [ebp - 0x180]
mov cl, byte [edx + 1]
shl ecx, 8
xor edx, edx
mov dl, byte [eax + 2]
or ecx, edx
xor edx, edx
sub esi, ecx
mov dword [ebp - 0x184], esi
mov eax, dword [ebp - 0x184]
mov dl, byte [eax]
cmp edx, 0x81
je 0x3dd5771
mov ecx, dword [ebp - 0x184]
movzx ecx, byte [ecx]
cmp ecx, 0x82
jne 0x3dd5783
cmp dword [ebp - 0xa4], 0
je 0x3dd5783
mov eax, dword [ebp - 0x184]
mov byte [eax], 0x83
mov edx, dword [ebp - 0x184]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x81
je 0x3dd57a7
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x82
jne 0x3dd57ba
mov eax, dword [ebp - 0x180]
mov cl, byte [ebp - 4]
add cl, 0x79
mov byte [eax], cl
jmp 0x3dd596c
cmp dword [ebp + 0x34], 0
jne 0x3dd582e
mov edx, dword [ebp - 0x184]
mov dword [ebp - 0x188], edx
push 0
mov ecx, dword [ebp + 0x30]
push ecx
mov eax, dword [ebp - 0x84]
push eax
mov edx, dword [ebp - 0x180]
push edx
mov ecx, dword [ebp - 0x188]
push ecx
call fcn.03dd121c
add esp, 0x14
test eax, eax
je 0x3dd57fe
mov eax, dword [ebp - 0x184]
add byte [eax], 5
jmp 0x3dd582e
mov edx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x188]
xor ecx, ecx
mov cl, byte [edx + 1]
xor edx, edx
shl ecx, 8
mov dl, byte [eax + 2]
or ecx, edx
add dword [ebp - 0x188], ecx
mov ecx, dword [ebp - 0x188]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x77
je 0x3dd57cc
cmp dword [ebp - 0xa4], 0
je 0x3dd593d
mov edx, dword [ebp - 0x184]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x87
je 0x3dd5863
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x8c
jne 0x3dd590a
mov ecx, edi
sub ecx, dword [ebp - 0x184]
mov dword [ebp - 0x18c], ecx
mov byte [edi], 0
mov eax, dword [ebp - 0x80]
push eax
mov edx, dword [ebp + 0x30]
push edx
mov ecx, dword [ebp - 0x84]
push ecx
push 3
mov eax, dword [ebp - 0x184]
push eax
call fcn.03dd2da4
add esp, 0x14
mov edx, dword [ebp - 0x18c]
push edx
mov ecx, dword [ebp - 0x184]
push ecx
mov eax, dword [ebp - 0x184]
add eax, 3
push eax
call fcn.03dcffdc
add dword [ebp - 0x18c], 3
mov edx, dword [ebp - 0x184]
add edi, 3
add esp, 0xc
mov byte [edx], 0x84
mov byte [edi], 0x7b
inc edi
mov ecx, dword [ebp - 0x18c]
sar ecx, 8
mov byte [edi], cl
mov al, byte [ebp - 0x18c]
and al, 0xff
mov byte [edi + 1], al
add edi, 2
mov edx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x184]
sar edx, 8
mov byte [eax + 1], dl
mov ecx, dword [ebp - 0x184]
mov dl, byte [ebp - 0x18c]
and dl, 0xff
mov byte [ecx + 2], dl
jmp 0x3dd591b
mov ecx, dword [ebp - 0x184]
inc byte [ecx]
mov eax, dword [ebp - 0x180]
mov byte [eax], 0x7b
cmp dword [ebp - 0x150], 0
je 0x3dd592d
mov edx, dword [ebp - 0x150]
mov byte [edx], 0x94
cmp dword [ebp - 0xc], 2
jge 0x3dd596c
xor ecx, ecx
mov dword [ebp - 0xa4], ecx
jmp 0x3dd596c
mov edx, dword [ebp - 0x180]
mov al, byte [ebp - 4]
add al, 0x79
mov byte [edx], al
jmp 0x3dd596c
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x9d
je 0x3dd5b33
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xb
jmp 0x3dd7c84
cmp dword [ebp - 0xa4], 0
je 0x3dd5b33
mov ecx, dword [ebp - 0x60]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x50
jg 0x3dd59a3
je 0x3dd59f7
add eax, 0xffffffe3
sub eax, 4
jb 0x3dd59f7
sub eax, 8
je 0x3dd59f7
sub eax, 0xd
je 0x3dd59f7
sub eax, 0xd
je 0x3dd59f7
jmp 0x3dd5a57
sub eax, 0x5d
je 0x3dd59bf
add eax, 0xffffffef
sub eax, 2
jb 0x3dd5a39
je 0x3dd5a3f
jmp 0x3dd5a57
mov edx, dword [ebp - 0x60]
xor ecx, ecx
mov cl, byte [edx + 3]
cmp ecx, 0x10
je 0x3dd59d9
mov eax, dword [ebp - 0x60]
xor edx, edx
mov dl, byte [eax + 3]
cmp edx, 0xf
jne 0x3dd59e0
mov ecx, 2
jmp 0x3dd59e2
xor ecx, ecx
mov eax, dword [ebp - 0x60]
xor edx, edx
mov dl, byte [eax]
movzx esi, byte [edx + 0x3e3c270]
add ecx, esi
add dword [ebp - 0x60], ecx
jmp 0x3dd5a57
mov eax, dword [ebp - 0x60]
xor edx, edx
mov dl, byte [eax]
xor ecx, ecx
mov cl, byte [edx + 0x3e3c270]
add dword [ebp - 0x60], ecx
cmp dword [ebp - 0x84], 0
je 0x3dd5a57
mov ecx, dword [ebp - 0x60]
xor eax, eax
mov al, byte [ecx - 1]
cmp eax, 0xc0
jl 0x3dd5a57
mov edx, dword [ebp - 0x60]
xor ecx, ecx
mov cl, byte [edx - 1]
and ecx, 0x3f
xor eax, eax
mov al, byte [ecx + 0x3e3c312]
add dword [ebp - 0x60], eax
jmp 0x3dd5a57
add dword [ebp - 0x60], 0x21
jmp 0x3dd5a57
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x60]
xor ecx, ecx
mov cl, byte [edx + 1]
xor edx, edx
shl ecx, 8
mov dl, byte [eax + 2]
or ecx, edx
add dword [ebp - 0x60], ecx
mov ecx, edi
sub ecx, dword [ebp - 0x60]
mov dword [ebp - 0x190], ecx
cmp dword [ebp - 0x190], 0
jle 0x3dd5b33
mov eax, dword [ebp - 0x60]
xor edx, edx
mov dl, byte [eax]
mov dword [ebp - 0x194], edx
cmp dword [ebp - 0x194], 0x76
jae 0x3dd5aad
mov ecx, dword [ebp - 0x194]
xor eax, eax
mov al, byte [ecx + 0x3e3bc35]
test eax, eax
jle 0x3dd5aad
mov edx, dword [ebp - 0x194]
mov eax, dword [ebp - 0x60]
mov cl, byte [edx + 0x3e3bc35]
mov byte [eax], cl
jmp 0x3dd5b33
mov byte [edi], 0
mov edx, dword [ebp - 0x80]
push edx
mov ecx, dword [ebp + 0x30]
push ecx
mov eax, dword [ebp - 0x84]
push eax
push 3
mov edx, dword [ebp - 0x60]
push edx
call fcn.03dd2da4
add esp, 0x14
mov ecx, dword [ebp - 0x190]
push ecx
mov eax, dword [ebp - 0x60]
push eax
mov edx, dword [ebp - 0x60]
add edx, 3
push edx
call fcn.03dcffdc
add dword [ebp - 0x190], 3
mov ecx, dword [ebp - 0x60]
add edi, 3
add esp, 0xc
mov byte [ecx], 0x81
mov byte [edi], 0x78
inc edi
mov eax, dword [ebp - 0x190]
sar eax, 8
mov byte [edi], al
mov dl, byte [ebp - 0x190]
and dl, 0xff
mov byte [edi + 1], dl
add edi, 2
mov ecx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x60]
sar ecx, 8
mov byte [eax + 1], cl
mov eax, dword [ebp - 0x60]
mov dl, byte [ebp - 0x190]
and dl, 0xff
mov byte [eax + 2], dl
xor edx, edx
mov dword [ebp - 0x78], edx
mov ecx, dword [ebp + 0x30]
mov esi, dword [ebp - 0x44]
or dword [ecx + 0x68], esi
jmp 0x3dd7c7d
mov eax, dword [ebp - 0x4c]
xor edx, edx
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0x14], 0x85
mov ecx, dword [ebp + 0x30]
xor eax, eax
mov ecx, dword [ecx + 0x20]
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0xb0], eax
inc dword [ebx]
xor ecx, ecx
mov edx, dword [ebx]
mov cl, byte [edx]
cmp ecx, 0x2a
jne 0x3dd5e33
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x3a
je 0x3dd5ba3
mov ecx, dword [ebx]
mov edx, dword [ebp + 0x30]
xor eax, eax
mov al, byte [ecx + 1]
mov edx, dword [edx + 0xc]
test byte [edx + eax], 2
je 0x3dd5e33
xor eax, eax
mov dword [ebp - 0x19c], eax
xor eax, eax
mov dword [ebp - 0x1a0], 0x3e3ad34
mov ecx, dword [ebx]
inc ecx
mov dword [ebp - 0x1a4], ecx
xor ecx, ecx
mov dword [ebp - 0x1a8], ecx
mov dword [ebp - 0x78], eax
inc dword [ebx]
jmp 0x3dd5bd1
inc dword [ebx]
mov edx, dword [ebx]
mov eax, dword [ebp + 0x30]
xor ecx, ecx
mov cl, byte [edx]
mov edx, dword [eax + 0xc]
test byte [edx + ecx], 2
jne 0x3dd5bcf
mov ecx, dword [ebx]
sub ecx, dword [ebp - 0x1a4]
mov dword [ebp - 0x198], ecx
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3a
jne 0x3dd5c44
inc dword [ebx]
mov ecx, dword [ebx]
mov dword [ebp - 0x1a8], ecx
jmp 0x3dd5c0a
inc dword [ebx]
mov eax, dword [ebx]
cmp byte [eax], 0
je 0x3dd5c1c
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x29
jne 0x3dd5c08
mov eax, dword [ebx]
sub eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x19c], eax
cmp dword [ebp - 0x19c], 0xff
jbe 0x3dd5c44
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x4b
jmp 0x3dd7c84
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x29
je 0x3dd5c5d
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x3c
jmp 0x3dd7c84
xor esi, esi
jmp 0x3dd5e08
lea eax, [esi + esi*2]
mov edx, dword [eax*4 + 0x3e3a8d8]
cmp edx, dword [ebp - 0x198]
jne 0x3dd5df6
mov ecx, dword [ebp - 0x198]
push ecx
mov ecx, dword [ebp - 0x1a0]
push ecx
mov eax, dword [ebp - 0x1a4]
push eax
call fcn.03b4ac2c
add esp, 0xc
test eax, eax
jne 0x3dd5df6
lea edx, [esi + esi*2]
cmp dword [edx*4 + 0x3e3a8dc], 0x9e
jne 0x3dd5d2b
cmp dword [ebp - 0x19c], 0
je 0x3dd5cc6
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3b
jmp 0x3dd7c84
mov eax, dword [ebp + 0x30]
mov dword [eax + 0x6c], 1
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x24]
test eax, eax
je 0x3dd5cf9
mov byte [edi], 0xa0
inc edi
movzx edx, word [eax + 4]
sar edx, 8
mov byte [edi], dl
mov cl, byte [eax + 4]
and cl, 0xff
mov byte [edi + 1], cl
add edi, 2
mov eax, dword [eax]
test eax, eax
jne 0x3dd5cda
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x5c], 0
jle 0x3dd5d06
mov al, 0x9f
jmp 0x3dd5d08
mov al, 0x9e
mov byte [edi], al
xor edx, edx
mov dl, al
mov dword [ebp - 0x1ac], edx
inc edi
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x3dd5dc4
mov dword [ebp - 0x28], 0xffffffff
jmp 0x3dd5dc4
cmp dword [ebp - 0x19c], 0
jne 0x3dd5d68
lea ecx, [esi + esi*2]
cmp dword [ecx*4 + 0x3e3a8dc], 0
jge 0x3dd5d4f
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x42
jmp 0x3dd7c84
lea eax, [esi + esi*2]
mov dl, byte [eax*4 + 0x3e3a8dc]
xor eax, eax
mov byte [edi], dl
inc edi
mov al, dl
mov dword [ebp - 0x1ac], eax
jmp 0x3dd5dc4
lea ecx, [esi + esi*2]
cmp dword [ecx*4 + 0x3e3a8e0], 0
jge 0x3dd5d83
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3b
jmp 0x3dd7c84
lea eax, [esi + esi*2]
mov dl, byte [eax*4 + 0x3e3a8e0]
mov byte [edi], dl
xor eax, eax
mov al, dl
mov dword [ebp - 0x1ac], eax
inc edi
mov cl, byte [ebp - 0x19c]
mov byte [edi], cl
inc edi
mov ecx, dword [ebp - 0x19c]
push ecx
mov eax, dword [ebp - 0x1a8]
push eax
push edi
call fcn.03b4ac3c
add esp, 0xc
add edi, dword [ebp - 0x19c]
mov byte [edi], 0
inc edi
mov edx, dword [ebp - 0x1ac]
add edx, 0xffffff6a
sub edx, 4
jb 0x3dd5de8
sub edx, 2
jb 0x3dd5ddc
jmp 0x3dd5e14
mov ecx, dword [ebp + 0x30]
or dword [ecx + 0x64], 0x1000
jmp 0x3dd5e14
mov eax, dword [ebp + 0x30]
mov dword [eax + 0x70], 1
jmp 0x3dd5e14
lea edx, [esi + esi*2]
mov ecx, dword [edx*4 + 0x3e3a8d8]
inc ecx
add dword [ebp - 0x1a0], ecx
inc esi
cmp esi, dword [0x3e3a944]
jl 0x3dd5c64
cmp esi, dword [0x3e3a944]
jl 0x3dd7c7d
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3c
jmp 0x3dd7c84
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x3f
jne 0x3dd7215
inc dword [ebx]
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3a
jg 0x3dd5ecc
je 0x3dd5f4f
add edx, 0xffffffdf
cmp edx, 0x18
ja 0x3dd708e
jmp dword [edx*4 + 0x3dd5268]
cmp edx, 0x43
jg 0x3dd5ef3
je 0x3dd6614
sub edx, 0x3c
je 0x3dd65a1
dec edx
je 0x3dd6520
dec edx
je 0x3dd6606
jmp 0x3dd708e
sub edx, 0x50
je 0x3dd66ce
sub edx, 2
je 0x3dd6dca
sub edx, 0x2a
je 0x3dd5f45
jmp 0x3dd708e
mov dword [ebp - 0xb0], 1
mov dword [ebp - 0x14], 0x83
inc dword [ebx]
jmp 0x3dd724b
mov dword [ebp - 0x14], 0x7d
mov eax, dword [ebp + 0x30]
inc dword [eax + 0x5c]
inc dword [ebx]
jmp 0x3dd724b
mov ecx, dword [ebx]
mov al, byte [ecx + 1]
sub al, 0x21
je 0x3dd65c5
sub al, 0x1c
je 0x3dd65b0
jmp 0x3dd65da
mov dword [ebp - 0x14], 0x7f
mov edx, dword [ebp + 0x30]
inc dword [edx + 0x5c]
add dword [ebx], 2
jmp 0x3dd724b
mov dword [ebp - 0x14], 0x80
mov ecx, dword [ebp + 0x30]
inc dword [ecx + 0x5c]
add dword [ebx], 2
jmp 0x3dd724b
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0xc]
test byte [ecx + edx], 0x10
jne 0x3dd6725
inc dword [ebx]
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x18
jmp 0x3dd7c84
mov dword [ebp - 0x14], 0x81
inc dword [ebx]
jmp 0x3dd724b
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x50], 1
mov byte [edi], 0x76
inc edi
xor ecx, ecx
mov dword [ebp - 0x1d4], ecx
inc dword [ebx]
jmp 0x3dd664b
mov edx, dword [ebx]
mov eax, dword [ebp - 0x1d4]
add eax, eax
movzx edx, byte [edx]
lea eax, [eax + eax*4]
add eax, edx
add eax, 0xffffffd0
mov dword [ebp - 0x1d4], eax
inc dword [ebx]
mov eax, dword [ebx]
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 0x30
jl 0x3dd6661
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x39
jle 0x3dd662e
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x29
je 0x3dd667a
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x27
jmp 0x3dd7c84
cmp dword [ebp - 0x1d4], 0xff
jle 0x3dd6694
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x26
jmp 0x3dd7c84
mov cl, byte [ebp - 0x1d4]
mov byte [edi], cl
inc edi
mov eax, dword [ebp + 0x30]
mov edx, dword [ebx]
sub edx, dword [eax + 0x18]
inc edx
sar edx, 8
mov byte [edi], dl
mov ecx, dword [ebp + 0x30]
mov eax, dword [ebx]
sub eax, dword [ecx + 0x18]
inc eax
and al, 0xff
mov byte [edi + 1], al
mov byte [edi + 2], 0
mov byte [edi + 3], 0
add edi, 4
xor edx, edx
mov dword [ebp - 0x78], edx
jmp 0x3dd7c7d
inc dword [ebx]
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x3d
je 0x3dd66e6
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x3e
jne 0x3dd670c
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3e
sete cl
and ecx, 1
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xe0], 0x29
jmp 0x3dd69f2
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3c
je 0x3dd6725
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x29
jmp 0x3dd7c84
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3c
jne 0x3dd6737
mov ecx, 0x3e
jmp 0x3dd673c
mov ecx, 0x27
mov dword [ebp - 0xe0], ecx
inc dword [ebx]
mov eax, dword [ebx]
mov dword [ebp - 0x1c4], eax
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x30
jl 0x3dd6774
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x39
jg 0x3dd6774
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x54
jmp 0x3dd7c84
inc dword [ebx]
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0xc]
test byte [ecx + edx], 0x10
jne 0x3dd6772
mov edx, dword [ebx]
sub edx, dword [ebp - 0x1c4]
mov dword [ebp - 0x1bc], edx
cmp dword [ebp + 0x34], 0
je 0x3dd69d7
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x40]
inc eax
mov dword [ebp - 0x1dc], eax
mov dl, byte [ebp - 0xe0]
mov eax, dword [ebx]
cmp dl, byte [eax]
je 0x3dd67c5
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x2a
jmp 0x3dd7c84
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x30], 0x2710
jl 0x3dd67df
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x31
jmp 0x3dd7c84
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x1bc]
add eax, 3
cmp eax, dword [edx + 0x34]
jle 0x3dd6816
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x1bc]
add ecx, 3
mov dword [eax + 0x34], ecx
cmp dword [ebp - 0x1bc], 0x20
jle 0x3dd6816
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x30
jmp 0x3dd7c84
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x28]
mov dword [ebp - 0x1d8], eax
xor edx, edx
mov dword [ebp - 0x1b0], edx
jmp 0x3dd68c0
mov ecx, dword [ebp - 0x1d8]
mov eax, dword [ecx + 4]
cmp eax, dword [ebp - 0x1bc]
jne 0x3dd6894
mov edx, dword [ebp - 0x1bc]
push edx
mov ecx, dword [ebp - 0x1d8]
mov eax, dword [ecx]
push eax
mov edx, dword [ebp - 0x1c4]
push edx
call fcn.03b4ac2c
add esp, 0xc
test eax, eax
jne 0x3dd6894
mov ecx, dword [ebp - 0x1d8]
mov eax, dword [ecx + 8]
cmp eax, dword [ebp - 0x1dc]
je 0x3dd68d2
test byte [ebp - 0x4a], 8
jne 0x3dd6888
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x2b
jmp 0x3dd7c84
mov ecx, dword [ebp + 0x30]
mov dword [ecx + 0x78], 1
jmp 0x3dd68b3
mov eax, dword [ebp - 0x1d8]
mov edx, dword [eax + 8]
cmp edx, dword [ebp - 0x1dc]
jne 0x3dd68b3
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x41
jmp 0x3dd7c84
inc dword [ebp - 0x1b0]
add dword [ebp - 0x1d8], 0xc
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x30]
cmp edx, dword [ebp - 0x1b0]
jg 0x3dd682f
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x30]
cmp eax, dword [ebp - 0x1b0]
jg 0x3dd69d7
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp + 0x30]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x30]
jg 0x3dd6987
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x38]
add ecx, ecx
mov dword [ebp - 0x1e0], ecx
mov eax, dword [ebp - 0x1e0]
shl eax, 2
lea eax, [eax + eax*2]
push eax
call dword [0x3e3a830]
pop ecx
mov dword [ebp - 0x1e4], eax
cmp dword [ebp - 0x1e4], 0
jne 0x3dd6935
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x15
jmp 0x3dd7c84
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x38]
shl eax, 2
lea eax, [eax + eax*2]
push eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x28]
push ecx
mov eax, dword [ebp - 0x1e4]
push eax
call fcn.03b4ac3c
add esp, 0xc
mov edx, dword [ebp + 0x30]
cmp dword [edx + 0x38], 0x14
jle 0x3dd696f
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x28]
push eax
call dword [0x3e3a834]
pop ecx
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x1e4]
mov dword [edx + 0x28], eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x1e0]
mov dword [edx + 0x38], ecx
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x30]
mov edx, dword [edx + 0x28]
mov ecx, dword [ebp - 0x1c4]
lea eax, [eax + eax*2]
mov dword [edx + eax*4], ecx
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0x30]
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x28]
lea ecx, [ecx + ecx*2]
mov eax, dword [ebp - 0x1bc]
mov dword [edx + ecx*4 + 4], eax
mov edx, dword [ebp + 0x30]
mov esi, dword [ebp + 0x30]
mov ecx, dword [edx + 0x30]
mov eax, dword [esi + 0x28]
mov edx, dword [ebp - 0x1dc]
lea ecx, [ecx + ecx*2]
mov dword [eax + ecx*4 + 8], edx
mov ecx, dword [ebp + 0x30]
inc dword [ecx + 0x30]
inc dword [ebx]
jmp 0x3dd7224
inc dword [ebx]
mov ecx, dword [ebx]
mov dword [ebp - 0x1c4], ecx
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x30
jl 0x3dd6a24
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x39
jg 0x3dd6a24
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x54
jmp 0x3dd7c84
inc dword [ebx]
mov ecx, dword [ebx]
mov edx, dword [ebp + 0x30]
xor eax, eax
mov al, byte [ecx]
mov edx, dword [edx + 0xc]
test byte [edx + eax], 0x10
jne 0x3dd6a22
mov eax, dword [ebx]
sub eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x1bc], eax
cmp dword [ebp + 0x34], 0
je 0x3dd6b34
cmp dword [ebp - 0x1bc], 0
jne 0x3dd6a65
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3e
jmp 0x3dd7c84
mov cl, byte [ebp - 0xe0]
mov eax, dword [ebx]
cmp cl, byte [eax]
je 0x3dd6a7f
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x2a
jmp 0x3dd7c84
cmp dword [ebp - 0x1bc], 0x20
jle 0x3dd6a96
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x30
jmp 0x3dd7c84
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x28]
mov dword [ebp - 0x1e8], edx
xor ecx, ecx
mov dword [ebp - 0x1b0], ecx
jmp 0x3dd6aed
mov eax, dword [ebp - 0x1e8]
mov edx, dword [eax + 4]
cmp edx, dword [ebp - 0x1bc]
jne 0x3dd6ae0
mov ecx, dword [ebp - 0x1bc]
push ecx
mov eax, dword [ebp - 0x1e8]
mov edx, dword [eax]
push edx
mov ecx, dword [ebp - 0x1c4]
push ecx
call fcn.03b4ac2c
add esp, 0xc
test eax, eax
je 0x3dd6afb
inc dword [ebp - 0x1b0]
add dword [ebp - 0x1e8], 0xc
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x30]
cmp edx, dword [ebp - 0x1b0]
jg 0x3dd6aac
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x30]
cmp eax, dword [ebp - 0x1b0]
jle 0x3dd6b14
mov edx, dword [ebp - 0x1e8]
mov ecx, dword [edx + 8]
jmp 0x3dd6b16
xor ecx, ecx
mov dword [ebp - 0xc4], ecx
cmp dword [ebp - 0xac], 0
jne 0x3dd6bdf
mov eax, dword [ebp + 0x30]
inc dword [eax + 0x54]
jmp 0x3dd6bdf
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x2c]
mov dword [ebp - 0x1c8], ecx
xor eax, eax
mov dword [ebp - 0x1b0], eax
jmp 0x3dd6b93
mov edx, dword [ebp - 0x1bc]
push edx
mov ecx, dword [ebp - 0x1c8]
add ecx, 2
push ecx
mov eax, dword [ebp - 0x1c4]
push eax
call fcn.03b4ac2c
add esp, 0xc
test eax, eax
jne 0x3dd6b81
mov edx, dword [ebp - 0x1c8]
mov eax, dword [ebp - 0x1bc]
cmp byte [edx + eax + 2], 0
je 0x3dd6ba1
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x34]
add dword [ebp - 0x1c8], ecx
inc dword [ebp - 0x1b0]
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x30]
cmp eax, dword [ebp - 0x1b0]
jg 0x3dd6b4a
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x30]
cmp ecx, dword [ebp - 0x1b0]
jle 0x3dd6bd1
mov eax, dword [ebp - 0x1c8]
xor edx, edx
mov dl, byte [eax]
shl edx, 8
mov eax, dword [ebp - 0x1c8]
xor ecx, ecx
mov cl, byte [eax + 1]
or edx, ecx
mov dword [ebp - 0xc4], edx
jmp 0x3dd6bdf
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xf
jmp 0x3dd7c84
cmp dword [ebp - 0xac], 0
jne 0x3dd6f10
cmp dword [ebp + 0x34], 0
jne 0x3dd776d
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x78], 0
je 0x3dd776d
mov dword [ebp - 0x1ec], 1
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x1f0], eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x34]
add ecx, dword [ebp - 0x1c8]
mov dword [ebp - 0x1f4], ecx
inc dword [ebp - 0x1b0]
jmp 0x3dd6c7b
mov eax, dword [ebp - 0x1c8]
mov edx, dword [ebp - 0x1f4]
add eax, 2
add edx, 2
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x3dd6c61
test cl, cl
je 0x3dd6c63
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x3dd6c61
add eax, 2
add edx, 2
test cl, cl
jne 0x3dd6c45
jne 0x3dd6c89
inc dword [ebp - 0x1ec]
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x34]
add dword [ebp - 0x1f4], edx
inc dword [ebp - 0x1b0]
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x30]
cmp eax, dword [ebp - 0x1b0]
jg 0x3dd6c33
cmp dword [ebp - 0x1ec], 1
jle 0x3dd776d
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x3dd6ca3
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x78], edi
test byte [ebp - 0x4c], 1
je 0x3dd6cb0
mov dl, 0x74
jmp 0x3dd6cb2
mov dl, 0x73
mov byte [edi], dl
inc edi
mov eax, dword [ebp - 0x1f0]
shr eax, 8
mov byte [edi], al
mov cl, byte [ebp - 0x1f0]
and cl, 0xff
mov byte [edi + 1], cl
add edi, 2
mov ecx, dword [ebp - 0x1ec]
sar ecx, 8
mov byte [edi], cl
mov al, byte [ebp - 0x1ec]
and al, 0xff
mov byte [edi + 1], al
add edi, 2
mov edx, dword [ebp - 0x1c8]
cmp edx, dword [ebp - 0x1f4]
jae 0x3dd7c7d
mov edx, dword [ebp - 0x1c8]
mov ecx, dword [ebp - 0x1c8]
xor eax, eax
movzx edx, byte [edx + 1]
mov al, byte [ecx]
shl eax, 8
or eax, edx
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0x20
jge 0x3dd6d31
mov ecx, dword [ebp - 0xc4]
mov eax, 1
shl eax, cl
jmp 0x3dd6d36
mov eax, 1
mov edx, dword [ebp + 0x30]
or dword [edx + 0x50], eax
mov ecx, dword [ebp + 0x30]
mov ecx, dword [ecx + 0x4c]
cmp ecx, dword [ebp - 0xc4]
jge 0x3dd6d56
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0xc4]
mov dword [eax + 0x4c], edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0x1f8], eax
cmp dword [ebp - 0x1f8], 0
je 0x3dd6da2
mov edx, dword [ebp - 0x1f8]
movzx ecx, word [edx + 4]
cmp ecx, dword [ebp - 0xc4]
jne 0x3dd6d8b
mov eax, dword [ebp - 0x1f8]
mov word [eax + 6], 1
jmp 0x3dd6da2
mov edx, dword [ebp - 0x1f8]
mov ecx, dword [edx]
mov dword [ebp - 0x1f8], ecx
cmp dword [ebp - 0x1f8], 0
jne 0x3dd6d6b
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x34]
add dword [ebp - 0x1c8], edx
mov ecx, dword [ebp - 0x1c8]
cmp ecx, dword [ebp - 0x1f4]
jb 0x3dd6cfa
jmp 0x3dd7c7d
inc dword [ebx]
mov dword [ebp - 0xe0], 0x29
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
mov dword [ebp - 0xc8], edx
cmp edx, 0x2b
jne 0x3dd6e0f
inc dword [ebx]
mov eax, dword [ebx]
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 0x30
jl 0x3dd6dff
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x39
jle 0x3dd6e3a
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x3f
jmp 0x3dd7c84
cmp dword [ebp - 0xc8], 0x2d
jne 0x3dd6e3a
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x30
jl 0x3dd708e
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x39
jg 0x3dd708e
inc dword [ebx]
xor eax, eax
mov dword [ebp - 0xc4], eax
jmp 0x3dd6e62
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebx]
add edx, edx
xor ecx, ecx
mov cl, byte [eax]
lea edx, [edx + edx*4]
add edx, ecx
add edx, 0xffffffd0
mov dword [ebp - 0xc4], edx
inc dword [ebx]
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x30
jl 0x3dd6e78
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x39
jle 0x3dd6e44
mov cl, byte [ebp - 0xe0]
mov eax, dword [ebx]
cmp cl, byte [eax]
je 0x3dd6e92
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x1d
jmp 0x3dd7c84
cmp dword [ebp - 0xc8], 0x2d
jne 0x3dd6ede
cmp dword [ebp - 0xc4], 0
jne 0x3dd6eb2
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3a
jmp 0x3dd7c84
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x40]
sub edx, dword [ebp - 0xc4]
inc edx
mov dword [ebp - 0xc4], edx
cmp dword [ebp - 0xc4], 0
jg 0x3dd6f10
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xf
jmp 0x3dd7c84
cmp dword [ebp - 0xc8], 0x2b
jne 0x3dd6f10
cmp dword [ebp - 0xc4], 0
jne 0x3dd6efe
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3a
jmp 0x3dd7c84
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x40]
add ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0x78], edi
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x1fc], edx
cmp dword [ebp + 0x34], 0
jne 0x3dd7049
mov byte [edi], 0
cmp dword [ebp - 0xc4], 0
je 0x3dd6f58
mov ecx, dword [ebp - 0xc4]
push ecx
mov eax, dword [ebp - 0x84]
push eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x14]
push ecx
call fcn.03dd0fcc
add esp, 0xc
mov dword [ebp - 0x1fc], eax
cmp dword [ebp - 0x1fc], 0
jne 0x3dd6ff6
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x44]
cmp edx, dword [ebp - 0xc4]
jge 0x3dd6f81
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xf
jmp 0x3dd7c84
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x14]
add edx, dword [ebp - 0xc4]
mov dword [ebp - 0x1fc], edx
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x10]
add eax, dword [edx + 0x3c]
mov edx, dword [ebp + 0x30]
add eax, 0xffffff9c
cmp eax, dword [edx + 0x20]
ja 0x3dd6fc5
mov eax, dword [ebp + 0x30]
push eax
call fcn.03dd004c
pop ecx
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 0
jne 0x3dd7c84
mov edx, dword [ebp + 0x30]
lea eax, [edi + 1]
sub eax, dword [edx + 0x14]
mov edx, dword [ebp + 0x30]
sar eax, 8
mov ecx, dword [edx + 0x20]
mov byte [ecx], al
lea eax, [edi + 1]
mov edx, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x30]
sub eax, dword [edx + 0x14]
mov edx, dword [ecx + 0x20]
and al, 0xff
mov byte [edx + 1], al
mov eax, dword [ebp + 0x30]
add dword [eax + 0x20], 2
jmp 0x3dd7049
mov ecx, dword [ebp - 0x1fc]
mov eax, dword [ebp - 0x1fc]
xor edx, edx
movzx ecx, byte [ecx + 1]
shl ecx, 8
mov dl, byte [eax + 2]
or ecx, edx
jne 0x3dd7049
cmp dword [ebp + 0x2c], 0
jg 0x3dd7049
mov ecx, dword [ebp + 0x30]
push ecx
mov eax, dword [ebp - 0x84]
push eax
mov edx, dword [ebp + 0x28]
push edx
push edi
mov ecx, dword [ebp - 0x1fc]
push ecx
call fcn.03dd1734
add esp, 0x14
test eax, eax
je 0x3dd7049
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x28
jmp 0x3dd7c84
mov byte [edi], 0x75
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x1fc]
sub eax, dword [edx + 0x14]
sar eax, 8
mov byte [edi + 1], al
mov edx, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x1fc]
sub ecx, dword [edx + 0x14]
and cl, 0xff
mov byte [edi + 2], cl
add edi, 3
xor ecx, ecx
mov dword [ebp - 0x68], ecx
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x3dd7c7d
mov dword [ebp - 0x28], 0xffffffff
jmp 0x3dd7c7d
xor eax, eax
lea edx, [ebp - 0x1b4]
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x1c0], edx
jmp 0x3dd715d
mov ecx, dword [ebx]
inc dword [ebx]
movzx ecx, byte [ecx]
cmp ecx, 0x69
jg 0x3dd70d1
je 0x3dd7108
sub ecx, 0x2d
je 0x3dd70e2
sub ecx, 0x1d
je 0x3dd70f0
sub ecx, 0xb
je 0x3dd7134
sub ecx, 3
je 0x3dd7142
jmp 0x3dd714d
sub ecx, 0x6d
je 0x3dd7113
sub ecx, 6
je 0x3dd711e
sub ecx, 5
je 0x3dd7129
jmp 0x3dd714d
lea eax, [ebp - 0x1b8]
mov dword [ebp - 0x1c0], eax
jmp 0x3dd715d
mov edx, dword [ebp - 0x1c0]
or dword [edx], 0x80000
mov ecx, dword [ebp + 0x30]
or dword [ecx + 0x64], 0x400
jmp 0x3dd715d
mov eax, dword [ebp - 0x1c0]
or dword [eax], 1
jmp 0x3dd715d
mov edx, dword [ebp - 0x1c0]
or dword [edx], 2
jmp 0x3dd715d
mov ecx, dword [ebp - 0x1c0]
or dword [ecx], 4
jmp 0x3dd715d
mov eax, dword [ebp - 0x1c0]
or dword [eax], 8
jmp 0x3dd715d
mov edx, dword [ebp - 0x1c0]
or dword [edx], 0x200
jmp 0x3dd715d
mov ecx, dword [ebp - 0x1c0]
or dword [ecx], 0x40
jmp 0x3dd715d
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xc
dec dword [ebx]
jmp 0x3dd7c84
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x29
je 0x3dd7177
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3a
jne 0x3dd70ad
mov ecx, dword [ebp - 0x4c]
or ecx, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x1b8]
not eax
and ecx, eax
mov dword [ebp - 0xc0], ecx
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x29
jne 0x3dd720a
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x14]
add edx, 3
cmp edi, edx
jne 0x3dd71c4
cmp dword [ebp + 0x34], 0
je 0x3dd71b6
mov ecx, dword [ebp + 0x34]
cmp dword [ecx], 6
jne 0x3dd71c4
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0xc0]
mov dword [eax + 0x60], edx
jmp 0x3dd71f2
test byte [ebp - 0xbf], 2
setne cl
and ecx, 1
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
xor eax, 1
mov dword [ebp - 0x1c], eax
test byte [ebp - 0xc0], 1
je 0x3dd71ed
mov edx, 1
jmp 0x3dd71ef
xor edx, edx
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x4c], eax
mov edx, dword [ebp + 8]
mov dword [edx], eax
xor ecx, ecx
mov dword [ebp - 0x78], ecx
jmp 0x3dd7c7d
mov dword [ebp - 0x14], 0x83
inc dword [ebx]
jmp 0x3dd724b
test byte [ebp - 0x4b], 0x10
je 0x3dd7224
mov dword [ebp - 0x14], 0x83
jmp 0x3dd724b
mov ecx, dword [ebp + 0x30]
inc dword [ecx + 0x40]
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x40]
shr edx, 8
mov byte [edi + 3], dl
mov ecx, dword [ebp + 0x30]
mov al, byte [ecx + 0x40]
and al, 0xff
mov byte [edi + 4], al
mov dword [ebp - 0xcc], 2
mov edx, dword [ebp + 0x30]
inc dword [edx + 0x58]
mov ecx, dword [edx + 0x58]
cmp ecx, 0xfa
jle 0x3dd726a
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x52
jmp 0x3dd7c84
mov dword [ebp - 0x78], edi
mov dl, byte [ebp - 0x14]
mov byte [edi], dl
mov dword [ebp - 0x60], edi
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x68]
mov dword [ebp - 0x48], eax
xor eax, eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x40]
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0x54], eax
cmp dword [ebp + 0x34], 0
jne 0x3dd7299
xor edx, edx
jmp 0x3dd729c
lea edx, [ebp - 0x54]
push edx
lea edx, [ebp - 0xdc]
mov eax, dword [ebp + 0x30]
push eax
lea eax, [ebp - 0xd0]
mov ecx, dword [ebp + 0x28]
push ecx
lea ecx, [ebp - 0xd8]
push ecx
push eax
push edx
lea ecx, [ebp - 0xd4]
push ecx
cmp dword [ebp - 0x14], 0x87
jne 0x3dd72d1
mov eax, 1
jmp 0x3dd72d3
xor eax, eax
add eax, dword [ebp + 0x2c]
push eax
mov edx, dword [ebp - 0xcc]
push edx
mov ecx, dword [ebp - 0xb0]
push ecx
cmp dword [ebp - 0x14], 0x7f
je 0x3dd72f8
cmp dword [ebp - 0x14], 0x80
je 0x3dd72f8
xor ecx, ecx
jmp 0x3dd72fd
mov ecx, 1
push ecx
lea edx, [ebp - 0x60]
mov eax, dword [ebp + 0x14]
push eax
push ebx
push edx
mov ecx, dword [ebp - 0xc0]
push ecx
call fcn.03dd7c9c
add esp, 0x3c
test eax, eax
je 0x3dd7c84
mov eax, dword [ebp + 0x30]
dec dword [eax + 0x58]
cmp dword [ebp - 0x14], 0x81
jne 0x3dd733e
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x40]
cmp ecx, dword [ebp - 0xe8]
ja 0x3dd733e
mov byte [edi], 0x82
cmp dword [ebp - 0x14], 0x7d
jl 0x3dd7353
cmp dword [ebp - 0x14], 0x80
jg 0x3dd7353
mov eax, dword [ebp + 0x30]
dec dword [eax + 0x5c]
cmp dword [ebp - 0x14], 0x87
jne 0x3dd7409
cmp dword [ebp + 0x34], 0
jne 0x3dd7409
mov dword [ebp - 0x200], edi
xor edx, edx
mov dword [ebp - 0x204], edx
inc dword [ebp - 0x204]
xor eax, eax
mov edx, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x200]
movzx edx, byte [edx + 2]
mov al, byte [ecx + 1]
shl eax, 8
or eax, edx
add dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x200]
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 0x78
jne 0x3dd7378
xor ecx, ecx
mov cl, byte [edi + 3]
cmp ecx, 0x91
jne 0x3dd73da
cmp dword [ebp - 0x204], 1
jle 0x3dd73d1
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x36
jmp 0x3dd7c84
mov dword [ebp - 0x14], 0x91
jmp 0x3dd7409
cmp dword [ebp - 0x204], 2
jle 0x3dd73f1
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x1b
jmp 0x3dd7c84
cmp dword [ebp - 0x204], 1
jne 0x3dd7409
or ecx, 0xffffffff
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xdc], ecx
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x29
je 0x3dd7422
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xe
jmp 0x3dd7c84
cmp dword [ebp + 0x34], 0
je 0x3dd7473
mov eax, dword [ebp + 0x34]
mov edx, 0x7fffffeb
sub edx, dword [eax]
mov eax, dword [ebp - 0x54]
add eax, 0xfffffffa
cmp edx, eax
jge 0x3dd744a
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x14
jmp 0x3dd7c84
mov esi, dword [ebp + 0x34]
mov ecx, dword [ebp - 0x54]
add ecx, 0xfffffffa
inc edi
add dword [esi], ecx
mov byte [edi], 0
mov byte [edi + 1], 3
add edi, 2
mov byte [edi], 0x78
inc edi
mov byte [edi], 0
mov byte [edi + 1], 3
add edi, 2
jmp 0x3dd7c7d
cmp dword [ebp - 0x14], 0x91
mov edi, dword [ebp - 0x60]
je 0x3dd7c7d
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
xor eax, eax
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x38], edx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x14], 0x81
jl 0x3dd7538
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x3dd74e7
cmp dword [ebp - 0xdc], 0
jl 0x3dd74d7
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x68], 1
jmp 0x3dd74de
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x3c], 0xffffffff
jmp 0x3dd7514
cmp dword [ebp - 0xdc], 0
jl 0x3dd7514
cmp dword [ebp - 0xd8], 0
jge 0x3dd7514
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xd0], eax
mov edx, dword [ebp - 0xdc]
or edx, dword [ebp - 0x48]
mov dword [ebp - 0xd8], edx
cmp dword [ebp - 0xd8], 0
jl 0x3dd7c7d
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x2c], eax
jmp 0x3dd7c7d
cmp dword [ebp - 0x14], 0x7d
jne 0x3dd7c7d
cmp dword [ebp - 0xd8], 0
jl 0x3dd7c7d
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x2c], ecx
jmp 0x3dd7c7d
mov eax, dword [ebx]
mov dword [ebp - 0x70], eax
push 0
mov edx, dword [ebp - 0x4c]
push edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x40]
lea ecx, [ebp - 0xec]
push eax
mov edx, dword [ebp + 0x14]
push edx
push ecx
push ebx
call fcn.03dd0164
add esp, 0x18
mov esi, eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x3dd7c84
test esi, esi
jne 0x3dd75a9
mov esi, dword [ebp - 0xec]
jmp 0x3dd7923
cmp esi, 0x1a
jne 0x3dd75d9
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x5c
jne 0x3dd75cd
mov ecx, dword [ebx]
movzx ecx, byte [ecx + 2]
cmp ecx, 0x45
jne 0x3dd75cd
add dword [ebx], 2
jmp 0x3dd7c7d
mov dword [ebp - 0x64], 1
jmp 0x3dd7c7d
cmp esi, 0x19
je 0x3dd7c7d
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x3dd75f9
cmp esi, 5
jle 0x3dd75f9
cmp esi, 0x17
jge 0x3dd75f9
mov dword [ebp - 0x28], 0xffffffff
mov eax, dword [ebp - 0x20]
cmp esi, 0x1b
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x3c], edx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
jne 0x3dd76e8
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x20]
mov dword [ebp - 0x80], ecx
inc dword [ebx]
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3c
jne 0x3dd7637
mov ecx, 0x3e
jmp 0x3dd763c
mov ecx, 0x27
mov dword [ebp - 0xe0], ecx
xor eax, eax
mov dword [ebp - 0xcc], eax
xor edx, edx
mov dword [ebp - 0xb0], edx
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
mov dword [ebp - 0x20c], eax
cmp dword [ebp - 0x20c], 0x2b
je 0x3dd7692
cmp dword [ebp - 0x20c], 0x2d
je 0x3dd7692
cmp dword [ebp - 0x20c], 0x30
jb 0x3dd7683
cmp dword [ebp - 0x20c], 0x39
jbe 0x3dd7692
mov dword [ebp - 0xac], 1
jmp 0x3dd69f2
mov edx, dword [ebx]
add edx, 2
mov dword [ebp - 0x208], edx
jmp 0x3dd76a5
inc dword [ebp - 0x208]
mov ecx, dword [ebp - 0x208]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x30
jl 0x3dd76c3
mov edx, dword [ebp - 0x208]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x39
jle 0x3dd769f
mov al, byte [ebp - 0xe0]
mov edx, dword [ebp - 0x208]
cmp al, byte [edx]
je 0x3dd76e1
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x39
jmp 0x3dd7c7d
inc dword [ebx]
jmp 0x3dd6dd6
cmp esi, 0x1c
jne 0x3dd775d
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x3c
je 0x3dd771f
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x27
je 0x3dd771f
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x7b
je 0x3dd771f
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x45
jmp 0x3dd7c7d
xor edx, edx
mov dword [ebp - 0xac], edx
inc dword [ebx]
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x3c
jne 0x3dd773b
mov edx, 0x3e
jmp 0x3dd7752
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x27
jne 0x3dd774d
mov edx, 0x27
jmp 0x3dd7752
mov edx, 0x7d
mov dword [ebp - 0xe0], edx
jmp 0x3dd69f2
test esi, esi
jge 0x3dd783b
neg esi
mov dword [ebp - 0xc4], esi
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x3dd777a
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x78], edi
test byte [ebp - 0x4c], 1
je 0x3dd7787
mov al, 0x72
jmp 0x3dd7789
mov al, 0x71
mov byte [edi], al
inc edi
mov edx, dword [ebp - 0xc4]
sar edx, 8
mov byte [edi], dl
mov cl, byte [ebp - 0xc4]
and cl, 0xff
mov byte [edi + 1], cl
add edi, 2
cmp dword [ebp - 0xc4], 0x20
jge 0x3dd77be
mov ecx, dword [ebp - 0xc4]
mov eax, 1
shl eax, cl
jmp 0x3dd77c3
mov eax, 1
mov edx, dword [ebp + 0x30]
or dword [edx + 0x50], eax
mov ecx, dword [ebp + 0x30]
mov ecx, dword [ecx + 0x4c]
cmp ecx, dword [ebp - 0xc4]
jge 0x3dd77e3
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0xc4]
mov dword [eax + 0x4c], edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0
je 0x3dd7c7d
mov edx, dword [ebp - 0x210]
movzx ecx, word [edx + 4]
cmp ecx, dword [ebp - 0xc4]
jne 0x3dd781f
mov eax, dword [ebp - 0x210]
mov word [eax + 6], 1
jmp 0x3dd7c7d
mov edx, dword [ebp - 0x210]
mov ecx, dword [edx]
mov dword [ebp - 0x210], ecx
cmp dword [ebp - 0x210], 0
jne 0x3dd77fc
jmp 0x3dd7c7d
cmp esi, 0xf
je 0x3dd7845
cmp esi, 0x10
jne 0x3dd78b3
xor eax, eax
xor edx, edx
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x21c], edx
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x21c]
push ecx
push eax
lea edx, [ebp - 0x218]
lea ecx, [ebp - 0x214]
push edx
push ecx
push ebx
call fcn.03dd09c8
add esp, 0x14
test eax, eax
je 0x3dd7c84
mov dword [ebp - 0x78], edi
cmp esi, 0x10
sete al
and eax, 1
cmp eax, dword [ebp - 0x214]
je 0x3dd7897
mov dl, 0x10
jmp 0x3dd7899
mov dl, 0xf
mov byte [edi], dl
inc edi
mov al, byte [ebp - 0x218]
mov byte [edi], al
inc edi
mov cl, byte [ebp - 0x21c]
mov byte [edi], cl
inc edi
jmp 0x3dd7c7d
cmp esi, 5
je 0x3dd78c2
cmp esi, 4
je 0x3dd78c2
cmp esi, 1
jne 0x3dd78d5
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x48], 0
jne 0x3dd78d5
mov eax, dword [ebp + 0x30]
mov dword [eax + 0x48], 1
cmp esi, 0x1d
jl 0x3dd78f4
cmp esi, 0x22
jg 0x3dd78f4
mov edx, dword [ebx]
inc edx
mov dword [ebp - 0x74], edx
mov ecx, dword [esi*4 + 0x3e3a97c]
dec ecx
mov dword [ebx], ecx
jmp 0x3dd7c7d
cmp esi, 5
jle 0x3dd7902
cmp esi, 0x17
jge 0x3dd7902
mov eax, edi
jmp 0x3dd7904
xor eax, eax
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x84], 0
jne 0x3dd7919
cmp esi, 0xe
jne 0x3dd7919
mov dl, 0xd
jmp 0x3dd791b
mov edx, esi
mov byte [edi], dl
inc edi
jmp 0x3dd7c7d
cmp dword [ebp - 0x84], 0
je 0x3dd7949
cmp esi, 0x7f
jbe 0x3dd7949
lea eax, [ebp - 0xf4]
push eax
push esi
call fcn.03debfb0
add esp, 8
mov dword [ebp - 0xe4], eax
jmp 0x3dd79b0
mov ecx, esi
mov byte [ebp - 0xf4], cl
mov dword [ebp - 0xe4], 1
jmp 0x3dd79b0
mov dword [ebp - 0xe4], 1
mov ecx, esi
mov byte [ebp - 0xf4], cl
cmp dword [ebp - 0x84], 0
je 0x3dd79b0
cmp esi, 0xc0
jb 0x3dd79b0
jmp 0x3dd799b
inc dword [ebx]
mov eax, dword [ebx]
mov dl, byte [eax]
mov eax, dword [ebp - 0xe4]
mov byte [ebp + eax - 0xf4], dl
inc dword [ebp - 0xe4]
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
and ecx, 0xc0
cmp ecx, 0x80
je 0x3dd7982
mov dword [ebp - 0x78], edi
cmp dword [ebp - 0x84], 0
je 0x3dd7b71
test byte [ebp - 0x4c], 1
je 0x3dd7b71
movzx esi, byte [ebp - 0xf4]
cmp esi, 0xc0
jb 0x3dd7b0d
test esi, 0x20
jne 0x3dd79fd
and esi, 0x1f
xor eax, eax
mov al, byte [ebp - 0xf3]
shl esi, 6
and eax, 0x3f
or esi, eax
jmp 0x3dd7b0d
test esi, 0x10
jne 0x3dd7a2d
xor edx, edx
and esi, 0xf
mov dl, byte [ebp - 0xf3]
xor ecx, ecx
and edx, 0x3f
mov cl, byte [ebp - 0xf2]
shl edx, 6
and ecx, 0x3f
shl esi, 0xc
or esi, edx
or esi, ecx
jmp 0x3dd7b0d
test esi, 8
jne 0x3dd7a6d
xor ecx, ecx
xor eax, eax
mov cl, byte [ebp - 0xf3]
mov al, byte [ebp - 0xf2]
and ecx, 0x3f
and esi, 7
shl ecx, 0xc
and eax, 0x3f
shl esi, 0x12
xor edx, edx
shl eax, 6
or esi, ecx
mov dl, byte [ebp - 0xf1]
or esi, eax
and edx, 0x3f
or esi, edx
jmp 0x3dd7b0d
test esi, 4
jne 0x3dd7aba
xor ecx, ecx
and esi, 3
mov cl, byte [ebp - 0xf3]
xor eax, eax
and ecx, 0x3f
mov al, byte [ebp - 0xf2]
shl ecx, 0x12
xor edx, edx
shl esi, 0x18
mov dl, byte [ebp - 0xf1]
and eax, 0x3f
or esi, ecx
shl eax, 0xc
and edx, 0x3f
shl edx, 6
xor ecx, ecx
or esi, eax
mov cl, byte [ebp - 0xf0]
and ecx, 0x3f
or esi, edx
or esi, ecx
jmp 0x3dd7b0d
xor eax, eax
and esi, 1
mov al, byte [ebp - 0xf3]
xor edx, edx
and eax, 0x3f
mov dl, byte [ebp - 0xf2]
shl eax, 0x18
and edx, 0x3f
shl esi, 0x1e
xor ecx, ecx
or esi, eax
xor eax, eax
shl edx, 0x12
mov cl, byte [ebp - 0xf1]
and ecx, 0x3f
mov al, byte [ebp - 0xf0]
shl ecx, 0xc
or esi, edx
and eax, 0x3f
xor edx, edx
shl eax, 6
or esi, ecx
mov dl, byte [ebp - 0xef]
or esi, eax
and edx, 0x3f
or esi, edx
mov ecx, esi
test ecx, ecx
jns 0x3dd7b16
add ecx, 0x7f
sar ecx, 7
xor eax, eax
mov al, byte [ecx + 0x3e4a73c]
shl eax, 7
mov edx, esi
and edx, 0x8000007f
jns 0x3dd7b33
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx ecx, word [eax*2 + 0x3e3dc3c]
xor eax, eax
mov al, byte [ecx*8 + 0x3e3c8a7]
mov esi, eax
test eax, eax
je 0x3dd7b71
mov byte [edi], 0x10
inc edi
mov byte [edi], 9
inc edi
mov edx, esi
mov byte [edi], dl
inc edi
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x3dd7c7d
or ecx, 0xffffffff
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x28], ecx
jmp 0x3dd7c7d
test byte [ebp - 0x4c], 1
je 0x3dd7b7b
mov al, 0x1e
jmp 0x3dd7b7d
mov al, 0x1d
mov byte [edi], al
inc edi
xor esi, esi
lea eax, [ebp - 0xf4]
mov dword [ebp - 0x220], eax
cmp esi, dword [ebp - 0xe4]
jae 0x3dd7bb0
mov edx, dword [ebp - 0x220]
mov cl, byte [edx]
mov byte [edi], cl
inc edi
inc esi
inc dword [ebp - 0x220]
cmp esi, dword [ebp - 0xe4]
jb 0x3dd7b96
xor ecx, ecx
mov cl, byte [ebp - 0xf4]
cmp ecx, 0xd
je 0x3dd7bca
xor eax, eax
mov al, byte [ebp - 0xf4]
cmp eax, 0xa
jne 0x3dd7bd4
mov edx, dword [ebp + 0x30]
or dword [edx + 0x64], 0x800
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x3dd7c42
mov dword [ebp - 0x3c], 0xffffffff
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0xe4], 1
je 0x3dd7bfc
cmp dword [ebp - 0x40], 0
jne 0x3dd7c37
xor edx, edx
mov dl, byte [ebp - 0xf4]
or edx, dword [ebp - 0x40]
mov dword [ebp - 0x20], edx
xor ecx, ecx
mov cl, byte [ebp - 0xf4]
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0xe4], 1
je 0x3dd7c7d
xor edx, edx
mov dl, byte [edi - 1]
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x68]
mov dword [ebp - 0x2c], eax
jmp 0x3dd7c7d
or edx, 0xffffffff
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], edx
jmp 0x3dd7c7d
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0xe4], 1
je 0x3dd7c69
cmp dword [ebp - 0x40], 0
jne 0x3dd7c7d
xor edx, edx
mov dl, byte [edi - 1]
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x68]
or eax, dword [ebp - 0x40]
mov dword [ebp - 0x2c], eax
inc dword [ebx]
jmp 0x3dd33a7
mov edx, dword [ebp + 0x10]
mov eax, dword [ebx]
mov dword [edx], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret