Function at 0x5e08ac
Capabilities:
Access peb ldr_data
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x13
push 0
push 0
dec ecx
jne 0x5e08b4
push ebx
push esi
push edi
mov ebx, edx
mov dword [ebp - 4], eax
lea esi, [ebp - 4]
xor eax, eax
push ebp
push 0x5e228b
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebx + 4]
call fcn.004086e8
lea eax, [ebx + 8]
call fcn.004086e8
xor eax, eax
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
mov dword [ebx + 0x20], eax
xor eax, eax
mov dword [ebx + 0x24], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x28]
mov dword [ebx + 0x28], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
mov dword [ebx + 0x2c], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
mov dword [ebx + 0x30], eax
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
mov dword [ebx + 0x34], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x20]
mov dword [ebx + 0x38], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x24]
mov dword [ebx + 0x3c], eax
mov eax, dword [esi]
xor edx, edx
mov dword [eax + 0x28], edx
mov byte [ebx], 1
mov eax, dword [esi]
cmp dword [eax + 0x20], 0
je 0x5e09d8
mov eax, dword [esi]
mov dword [eax + 0x24], 0xffffffff
mov byte [ebx], 2
jmp case.0x5e0a48.0
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
sub eax, 1
jb 0x5e097e
sub eax, 9
je 0x5e09bc
sub eax, 3
je 0x5e0998
add eax, 0xffffdfe5
sub eax, 2
jb 0x5e09bc
jmp 0x5e09d1
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
cmp dword [eax + 0x20], 0
jne 0x5e09d8
mov eax, dword [esi]
mov dword [eax + 0x14], 1
jmp 0x5e09d8
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
cmp dword [eax + 0x14], 0xa
jne 0x5e09ae
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
inc dword [eax + 0x10]
mov dword [ebx + 0x28], 0xffffffff
jmp 0x5e09d8
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
inc dword [eax + 0x10]
mov dword [ebx + 0x28], 0xffffffff
jmp 0x5e09d8
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
call fcn.00595554
test al, al
jne 0x5e095e
mov eax, dword [esi]
cmp dword [eax + 0x20], 0
je 0x5e0a03
mov byte [ebx], 2
mov eax, dword [esi]
mov dword [eax + 0x24], 0xffffffff
jmp case.0x5e0a48.0
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
mov dword [ebx + 0x20], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
mov dword [ebx + 0x2c], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
mov dword [ebx + 0x30], eax
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
mov dword [ebx + 0x34], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x20]
mov dword [ebx + 0x38], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x24]
mov dword [ebx + 0x3c], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
cmp eax, 0x7e
ja case.0x5e0a48.1
movzx eax, byte [eax + 0x5e0a4f]
jmp dword [eax*4 + 0x5e0ace]
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
sub eax, 0x3d
jne 0x5e0b7c
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
sub eax, 0x3d
jne 0x5e0b74
mov eax, dword [esi]
call fcn.005df5fc
mov byte [ebx], 0x19
jmp case.0x5e0a48.0
mov byte [ebx], 0x18
jmp case.0x5e0a48.0
mov byte [ebx], 7
jmp case.0x5e0a48.0
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
sub eax, 0x26
je 0x5e0b9c
sub eax, 0x17
je 0x5e0bab
jmp 0x5e0bba
mov eax, dword [esi]
call fcn.005df5fc
mov byte [ebx], 0x1e
jmp case.0x5e0a48.0
mov eax, dword [esi]
call fcn.005df5fc
mov byte [ebx], 9
jmp case.0x5e0a48.0
mov byte [ebx], 8
jmp case.0x5e0a48.0
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
sub eax, 0x3d
je 0x5e0be7
sub eax, 0x3f
jne 0x5e0bf6
mov eax, dword [esi]
call fcn.005df5fc
mov byte [ebx], 0x20
jmp case.0x5e0a48.0
mov eax, dword [esi]
call fcn.005df5fc
mov byte [ebx], 0xc
jmp case.0x5e0a48.0
mov byte [ebx], 0xb
jmp case.0x5e0a48.0
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
sub eax, 0x3d
jne 0x5e0c1e
mov eax, dword [esi]
call fcn.005df5fc
mov byte [ebx], 0xe
jmp case.0x5e0a48.0
mov byte [ebx], 0xd
jmp case.0x5e0a48.0
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
sub eax, 0x2a
je 0x5e0cc4
sub eax, 5
je 0x5e0c55
sub eax, 0xe
je 0x5e0d6a
jmp 0x5e0d79
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
cmp dword [eax + 0x14], 0
je 0x5e0c73
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
call fcn.005955c0
test al, al
jne 0x5e0c73
mov eax, dword [esi]
cmp dword [eax + 0x20], 0
je 0x5e0c4e
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
call fcn.005955c0
test al, al
je 0x5e0941
mov eax, dword [esi]
inc dword [eax + 0x10]
mov dword [ebx + 0x28], 0xffffffff
mov eax, dword [esi]
cmp dword [eax + 0x14], 0xd
jne 0x5e0cb8
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
cmp dword [eax + 0x14], 0xa
jne 0x5e0941
mov eax, dword [esi]
call fcn.005df5fc
jmp 0x5e0941
mov eax, dword [esi]
call fcn.005df5fc
jmp 0x5e0941
mov eax, dword [esi]
call fcn.005df5fc
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x5e0d3c
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
call fcn.005955c0
test al, al
je 0x5e0d2d
mov eax, dword [esi]
inc dword [eax + 0x10]
mov dword [ebx + 0x28], 0xffffffff
mov eax, dword [esi]
cmp dword [eax + 0x14], 0xd
jne 0x5e0d1c
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
mov dword [ebp - 8], eax
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
cmp dword [eax + 0x14], 0xa
jne 0x5e0d3c
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
mov dword [ebp - 8], eax
mov eax, dword [esi]
call fcn.005df5fc
jmp 0x5e0d3c
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
mov dword [ebp - 8], eax
mov eax, dword [esi]
call fcn.005df5fc
jmp 0x5e0d3c
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
mov dword [ebp - 8], eax
mov eax, dword [esi]
call fcn.005df5fc
cmp dword [ebp - 8], 0x2a
jne 0x5e0d4a
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x2f
je 0x5e0d52
mov eax, dword [esi]
cmp dword [eax + 0x20], 0
je 0x5e0cd2
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x2f
jne 0x5e0941
mov eax, dword [esi]
call fcn.005df5fc
jmp 0x5e0941
mov eax, dword [esi]
call fcn.005df5fc
mov byte [ebx], 0x16
jmp case.0x5e0a48.0
mov byte [ebx], 0x15
jmp case.0x5e0a48.0
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
sub eax, 0x3d
je 0x5e0de8
dec eax
jne 0x5e0df7
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
sub eax, 0x3d
je 0x5e0dd1
dec eax
jne 0x5e0de0
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
sub eax, 0x3d
jne 0x5e0dc9
mov eax, dword [esi]
call fcn.005df5fc
mov byte [ebx], 0x36
jmp case.0x5e0a48.0
mov byte [ebx], 0x35
jmp case.0x5e0a48.0
mov eax, dword [esi]
call fcn.005df5fc
mov byte [ebx], 0x34
jmp case.0x5e0a48.0
mov byte [ebx], 0x33
jmp case.0x5e0a48.0
mov eax, dword [esi]
call fcn.005df5fc
mov byte [ebx], 0x1b
jmp case.0x5e0a48.0
mov byte [ebx], 0x1a
jmp case.0x5e0a48.0
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
sub eax, 0x21
je 0x5e0e54
sub eax, 0x1b
je 0x5e0e1d
dec eax
je 0x5e0e45
jmp 0x5e0f54
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
sub eax, 0x3d
jne 0x5e0e3d
mov eax, dword [esi]
call fcn.005df5fc
mov byte [ebx], 0x32
jmp case.0x5e0a48.0
mov byte [ebx], 0x31
jmp case.0x5e0a48.0
mov eax, dword [esi]
call fcn.005df5fc
mov byte [ebx], 0x1d
jmp case.0x5e0a48.0
mov eax, dword [esi]
mov eax, dword [eax + 4]
test byte [eax + 0x50], 4
je 0x5e0f4c
mov eax, dword [esi]
mov eax, dword [eax + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x5e0e82
mov eax, dword [ebp - 0x14]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
add eax, 2
cmp eax, dword [ebp - 0x14]
jg 0x5e0ea4
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
mov edx, dword [esi]
mov edx, dword [edx + 8]
cmp byte [edx + eax - 1], 0x2d
sete byte [ebp - 0x15]
jmp 0x5e0ea8
mov byte [ebp - 0x15], 0
cmp byte [ebp - 0x15], 0
je 0x5e0ec2
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
mov edx, dword [esi]
mov edx, dword [edx + 8]
cmp byte [edx + eax], 0x2d
sete byte [ebp - 0x16]
jmp 0x5e0ec6
mov byte [ebp - 0x16], 0
cmp byte [ebp - 0x16], 0
je 0x5e0f44
jmp 0x5e0ed5
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
cmp dword [eax + 0x14], 0
je 0x5e0ef3
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
call fcn.005955c0
test al, al
jne 0x5e0ef3
mov eax, dword [esi]
cmp dword [eax + 0x20], 0
je 0x5e0ece
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
call fcn.005955c0
test al, al
je case.0x5e0a48.0
mov eax, dword [esi]
inc dword [eax + 0x10]
mov dword [ebx + 0x28], 0xffffffff
mov eax, dword [esi]
cmp dword [eax + 0x14], 0xd
jne 0x5e0f38
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
cmp dword [eax + 0x14], 0xa
jne 0x5e0941
mov eax, dword [esi]
call fcn.005df5fc
jmp 0x5e0941
mov eax, dword [esi]
call fcn.005df5fc
jmp 0x5e0941
mov byte [ebx], 0x1c
jmp case.0x5e0a48.0
mov byte [ebx], 0x1c
jmp case.0x5e0a48.0
mov byte [ebx], 0x1c
jmp case.0x5e0a48.0
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
sub eax, 0x2d
je 0x5e0f7b
sub eax, 0x10
je 0x5e1061
jmp 0x5e1070
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
mov eax, dword [eax + 4]
test byte [eax + 0x50], 4
je 0x5e1059
mov eax, dword [esi]
mov eax, dword [eax + 8]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x5e0fb0
mov eax, dword [ebp - 0x20]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x20]
jne 0x5e0fcf
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
mov edx, dword [esi]
mov edx, dword [edx + 8]
cmp byte [edx + eax - 1], 0x3e
sete byte [ebp - 0x21]
jmp 0x5e0fd3
mov byte [ebp - 0x21], 0
cmp byte [ebp - 0x21], 0
je 0x5e1051
jmp 0x5e0fe2
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
cmp dword [eax + 0x14], 0
je 0x5e1000
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
call fcn.005955c0
test al, al
jne 0x5e1000
mov eax, dword [esi]
cmp dword [eax + 0x20], 0
je 0x5e0fdb
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
call fcn.005955c0
test al, al
je case.0x5e0a48.0
mov eax, dword [esi]
inc dword [eax + 0x10]
mov dword [ebx + 0x28], 0xffffffff
mov eax, dword [esi]
cmp dword [eax + 0x14], 0xd
jne 0x5e1045
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
cmp dword [eax + 0x14], 0xa
jne 0x5e0941
mov eax, dword [esi]
call fcn.005df5fc
jmp 0x5e0941
mov eax, dword [esi]
call fcn.005df5fc
jmp 0x5e0941
mov byte [ebx], 0x23
jmp case.0x5e0a48.0
mov byte [ebx], 0x23
jmp case.0x5e0a48.0
mov eax, dword [esi]
call fcn.005df5fc
mov byte [ebx], 0x22
jmp case.0x5e0a48.0
mov byte [ebx], 0x21
jmp case.0x5e0a48.0
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
sub eax, 0x2b
je 0x5e1090
sub eax, 0x12
je 0x5e109f
jmp 0x5e10ae
mov eax, dword [esi]
call fcn.005df5fc
mov byte [ebx], 0x2f
jmp case.0x5e0a48.0
mov eax, dword [esi]
call fcn.005df5fc
mov byte [ebx], 0x2e
jmp case.0x5e0a48.0
mov byte [ebx], 0x2d
jmp case.0x5e0a48.0
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
sub eax, 0x3d
jne 0x5e10d6
mov eax, dword [esi]
call fcn.005df5fc
mov byte [ebx], 0x25
jmp case.0x5e0a48.0
mov byte [ebx], 0x24
jmp case.0x5e0a48.0
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
sub eax, 0x3d
jne 0x5e10fe
mov eax, dword [esi]
call fcn.005df5fc
mov byte [ebx], 0x27
jmp case.0x5e0a48.0
mov byte [ebx], 0x26
jmp case.0x5e0a48.0
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
sub eax, 0x3d
jne 0x5e113f
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
sub eax, 0x3d
jne 0x5e1137
mov eax, dword [esi]
call fcn.005df5fc
mov byte [ebx], 0x29
jmp case.0x5e0a48.0
mov byte [ebx], 0x28
jmp case.0x5e0a48.0
mov byte [ebx], 0x1f
jmp case.0x5e0a48.0
mov eax, dword [esi]
call fcn.005df5fc
mov byte [ebx], 0xa
jmp case.0x5e0a48.0
mov eax, dword [esi]
call fcn.005df5fc
mov byte [ebx], 0xf
jmp case.0x5e0a48.0
mov eax, dword [esi]
call fcn.005df5fc
mov byte [ebx], 0x10
jmp case.0x5e0a48.0
mov eax, dword [esi]
call fcn.005df5fc
mov byte [ebx], 0x11
jmp case.0x5e0a48.0
mov eax, dword [esi]
call fcn.005df5fc
mov byte [ebx], 0x2a
jmp case.0x5e0a48.0
mov eax, dword [esi]
call fcn.005df5fc
mov byte [ebx], 0x2b
jmp case.0x5e0a48.0
mov eax, dword [esi]
call fcn.005df5fc
mov byte [ebx], 0x2c
jmp case.0x5e0a48.0
mov eax, dword [esi]
call fcn.005df5fc
mov byte [ebx], 0x12
jmp case.0x5e0a48.0
mov eax, dword [esi]
call fcn.005df5fc
mov byte [ebx], 0x30
jmp case.0x5e0a48.0
mov eax, dword [esi]
call fcn.005df5fc
mov byte [ebx], 0x13
jmp case.0x5e0a48.0
mov eax, dword [esi]
call fcn.005df5fc
mov byte [ebx], 0x14
jmp case.0x5e0a48.0
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
add eax, 0xffffffd0
sub eax, 0xa
jae 0x5e1212
push ebp
mov edx, ebx
mov ax, 0x2e
call fcn.005e0010
pop ecx
jmp case.0x5e0a48.0
mov byte [ebx], 0x17
jmp case.0x5e0a48.0
push ebp
mov edx, ebx
xor eax, eax
call fcn.005e0010
pop ecx
jmp case.0x5e0a48.0
mov byte [ebx], 4
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
mov dword [ebp - 8], eax
mov eax, dword [esi]
call fcn.005df5fc
lea eax, [ebx + 8]
call fcn.004086e8
jmp 0x5e1bd3
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
cmp eax, 0x2028
jge 0x5e126d
sub eax, 0xa
je 0x5e128a
sub eax, 3
je 0x5e128a
sub eax, 0x4f
je 0x5e12ef
jmp 0x5e1bb4
add eax, 0xffffdfd8
sub eax, 2
jb 0x5e128a
sub eax, 0xded5
je 0x5e12b2
sub eax, 0xff
je 0x5e12b2
jmp 0x5e1bb4
mov eax, dword [esi]
mov eax, dword [eax + 4]
test byte [eax + 0x50], 0x10
jne 0x5e12a6
push ebp
mov eax, 0x5e22a0
call fcn.005dffdc
pop ecx
jmp 0x5e1bf2
mov eax, dword [esi]
call fcn.005df5fc
jmp 0x5e1bd3
lea eax, [ebp - 0x48]
mov edx, dword [ebx + 8]
call fcn.00409824
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x4c]
mov edx, dword [esi]
movzx edx, word [edx + 0x14]
call fcn.00409754
mov edx, dword [ebp - 0x4c]
pop eax
call fcn.00409940
mov edx, dword [ebp - 0x48]
lea eax, [ebx + 8]
call fcn.00409838
mov eax, dword [esi]
call fcn.005df5fc
jmp 0x5e1bd3
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
cmp eax, 0x72
jg 0x5e1347
je 0x5e1486
cmp eax, 0x62
jg 0x5e1330
je 0x5e1409
sub eax, 0xa
je 0x5e13c7
sub eax, 3
je 0x5e1386
add eax, 0xffffffdd
sub eax, 8
jb 0x5e14b8
jmp 0x5e1b93
sub eax, 0x66
je 0x5e146d
sub eax, 8
je 0x5e143b
jmp 0x5e1b93
cmp eax, 0x76
jg 0x5e136e
je 0x5e1454
sub eax, 0x73
je 0x5e149f
dec eax
je 0x5e1422
dec eax
je 0x5e17f0
jmp 0x5e1b93
sub eax, 0x78
je 0x5e15ce
add eax, 0xffffe050
sub eax, 2
jb 0x5e13c7
jmp 0x5e1b93
lea eax, [ebx + 8]
mov edx, 0x5e22dc
call fcn.004093e8
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
cmp dword [eax + 0x14], 0xa
jne 0x5e13b6
lea eax, [ebx + 8]
mov edx, 0x5e22e4
call fcn.004093e8
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
inc dword [eax + 0x10]
mov dword [ebx + 0x28], 0xffffffff
jmp 0x5e1bd3
lea eax, [ebp - 0x50]
mov edx, dword [ebx + 8]
call fcn.00409824
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x54]
mov edx, dword [esi]
movzx edx, word [edx + 0x14]
call fcn.00409754
mov edx, dword [ebp - 0x54]
pop eax
call fcn.00409940
mov edx, dword [ebp - 0x50]
lea eax, [ebx + 8]
call fcn.00409838
mov eax, dword [esi]
inc dword [eax + 0x10]
mov dword [ebx + 0x28], 0xffffffff
jmp 0x5e1bf2
mov eax, dword [esi]
call fcn.005df5fc
lea eax, [ebx + 8]
mov edx, 0x5e22ec
call fcn.004093e8
jmp 0x5e1bd3
mov eax, dword [esi]
call fcn.005df5fc
lea eax, [ebx + 8]
mov edx, 0x5e22f4
call fcn.004093e8
jmp 0x5e1bd3
mov eax, dword [esi]
call fcn.005df5fc
lea eax, [ebx + 8]
mov edx, 0x5e22e4
call fcn.004093e8
jmp 0x5e1bd3
mov eax, dword [esi]
call fcn.005df5fc
lea eax, [ebx + 8]
mov edx, 0x5e22fc
call fcn.004093e8
jmp 0x5e1bd3
mov eax, dword [esi]
call fcn.005df5fc
lea eax, [ebx + 8]
mov edx, 0x5e2304
call fcn.004093e8
jmp 0x5e1bd3
mov eax, dword [esi]
call fcn.005df5fc
lea eax, [ebx + 8]
mov edx, 0x5e22dc
call fcn.004093e8
jmp 0x5e1bd3
mov eax, dword [esi]
call fcn.005df5fc
lea eax, [ebx + 8]
mov edx, 0x5e230c
call fcn.004093e8
jmp 0x5e1bd3
mov eax, dword [esi]
mov eax, dword [eax + 4]
cmp dword [eax + 0x4c], 0
je 0x5e152e
lea eax, [ebp - 0x58]
mov edx, dword [ebx + 8]
call fcn.00409824
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x5c]
mov edx, dword [esi]
movzx edx, word [edx + 0x14]
call fcn.00409754
mov edx, dword [ebp - 0x5c]
pop eax
call fcn.00409940
mov edx, dword [ebp - 0x58]
lea eax, [ebx + 8]
call fcn.00409838
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x30
jb 0x5e1bd3
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x37
ja 0x5e1bd3
mov ecx, 0x5e231c
mov dl, 1
mov eax, dword [0x59c604]
call fcn.0059da94
call fcn.00407d20
jmp 0x5e1bd3
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
sub eax, 0x30
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x30
jb 0x5e159a
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x37
ja 0x5e159a
mov eax, dword [ebp - 0xc]
add eax, eax
add eax, eax
add eax, eax
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x30
or eax, edx
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x30
jb 0x5e159a
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x37
ja 0x5e159a
mov eax, dword [ebp - 0xc]
add eax, eax
add eax, eax
add eax, eax
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x30
or eax, edx
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
call fcn.005df5fc
lea eax, [ebp - 0x60]
mov edx, dword [ebx + 8]
call fcn.00409824
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x64]
movzx edx, word [ebp - 0xc]
call fcn.00409754
mov edx, dword [ebp - 0x64]
pop eax
call fcn.00409940
mov edx, dword [ebp - 0x60]
lea eax, [ebx + 8]
call fcn.00409838
jmp 0x5e1bd3
mov eax, dword [esi]
mov eax, dword [eax + 8]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
je 0x5e15ed
mov eax, dword [ebp - 0x2c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
inc eax
cmp eax, dword [ebp - 0x2c]
jg 0x5e1611
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
mov edx, dword [esi]
mov edx, dword [edx + 8]
movzx eax, byte [edx + eax - 1]
call fcn.0059729c
mov byte [ebp - 0x2d], al
jmp 0x5e1615
mov byte [ebp - 0x2d], 0
cmp byte [ebp - 0x2d], 0
je 0x5e1633
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
mov edx, dword [esi]
mov edx, dword [edx + 8]
movzx eax, byte [edx + eax]
call fcn.0059729c
mov byte [ebp - 0x2e], al
jmp 0x5e1637
mov byte [ebp - 0x2e], 0
cmp byte [ebp - 0x2e], 0
je 0x5e17bb
mov eax, dword [esi]
call fcn.005df5fc
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x30
jb 0x5e165d
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x39
jbe 0x5e1685
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x61
jb 0x5e166d
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x66
jbe 0x5e1685
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x41
jb 0x5e1787
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x46
ja 0x5e1787
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
add eax, 0xffffffd0
sub eax, 0xa
jb 0x5e16a4
add eax, 0xfffffff9
sub eax, 6
jb 0x5e16d1
add eax, 0xffffffe6
sub eax, 6
jb 0x5e16b9
jmp 0x5e16e7
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x30
or eax, edx
mov dword [ebp - 0xc], eax
jmp 0x5e16e7
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x61
add edx, 0xa
or eax, edx
mov dword [ebp - 0xc], eax
jmp 0x5e16e7
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x41
add edx, 0xa
or eax, edx
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x30
jb 0x5e16fe
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x39
jbe 0x5e171e
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x61
jb 0x5e170e
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x66
jbe 0x5e171e
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x41
jb 0x5e1787
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x46
ja 0x5e1787
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
add eax, 0xffffffd0
sub eax, 0xa
jb 0x5e173d
add eax, 0xfffffff9
sub eax, 6
jb 0x5e176a
add eax, 0xffffffe6
sub eax, 6
jb 0x5e1752
jmp 0x5e1780
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x30
or eax, edx
mov dword [ebp - 0xc], eax
jmp 0x5e1780
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x61
add edx, 0xa
or eax, edx
mov dword [ebp - 0xc], eax
jmp 0x5e1780
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x41
add edx, 0xa
or eax, edx
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
call fcn.005df5fc
lea eax, [ebp - 0x68]
mov edx, dword [ebx + 8]
call fcn.00409824
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x6c]
movzx edx, word [ebp - 0xc]
call fcn.00409754
mov edx, dword [ebp - 0x6c]
pop eax
call fcn.00409940
mov edx, dword [ebp - 0x68]
lea eax, [ebx + 8]
call fcn.00409838
jmp 0x5e1bd3
mov eax, dword [esi]
mov eax, dword [eax + 4]
test byte [eax + 0x50], 0x10
jne 0x5e17d7
push ebp
mov eax, 0x5e236c
call fcn.005dffdc
pop ecx
jmp 0x5e1bd3
mov eax, dword [esi]
call fcn.005df5fc
lea eax, [ebx + 8]
mov edx, 0x5e239c
call fcn.004093e8
jmp 0x5e1bd3
mov eax, dword [esi]
mov eax, dword [eax + 8]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
je 0x5e180f
mov eax, dword [ebp - 0x38]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
add eax, 3
cmp eax, dword [ebp - 0x38]
jg 0x5e1835
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
mov edx, dword [esi]
mov edx, dword [edx + 8]
movzx eax, byte [edx + eax - 1]
call fcn.0059729c
mov byte [ebp - 0x39], al
jmp 0x5e1839
mov byte [ebp - 0x39], 0
cmp byte [ebp - 0x39], 0
je 0x5e1857
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
mov edx, dword [esi]
mov edx, dword [edx + 8]
movzx eax, byte [edx + eax]
call fcn.0059729c
mov byte [ebp - 0x3a], al
jmp 0x5e185b
mov byte [ebp - 0x3a], 0
cmp byte [ebp - 0x3a], 0
je 0x5e187a
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
mov edx, dword [esi]
mov edx, dword [edx + 8]
movzx eax, byte [edx + eax + 1]
call fcn.0059729c
mov byte [ebp - 0x3b], al
jmp 0x5e187e
mov byte [ebp - 0x3b], 0
cmp byte [ebp - 0x3b], 0
je 0x5e189d
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
mov edx, dword [esi]
mov edx, dword [edx + 8]
movzx eax, byte [edx + eax + 2]
call fcn.0059729c
mov byte [ebp - 0x3c], al
jmp 0x5e18a1
mov byte [ebp - 0x3c], 0
cmp byte [ebp - 0x3c], 0
je 0x5e1b64
mov eax, dword [esi]
call fcn.005df5fc
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x30
jb 0x5e18c7
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x39
jbe 0x5e18ef
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x61
jb 0x5e18d7
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x66
jbe 0x5e18ef
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x41
jb 0x5e1b33
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x46
ja 0x5e1b33
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
add eax, 0xffffffd0
sub eax, 0xa
jb 0x5e190e
add eax, 0xfffffff9
sub eax, 6
jb 0x5e193b
add eax, 0xffffffe6
sub eax, 6
jb 0x5e1923
jmp 0x5e1951
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x30
or eax, edx
mov dword [ebp - 0xc], eax
jmp 0x5e1951
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x61
add edx, 0xa
or eax, edx
mov dword [ebp - 0xc], eax
jmp 0x5e1951
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x41
add edx, 0xa
or eax, edx
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x30
jb 0x5e1968
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x39
jbe 0x5e1990
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x61
jb 0x5e1978
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x66
jbe 0x5e1990
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x41
jb 0x5e1b33
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x46
ja 0x5e1b33
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
add eax, 0xffffffd0
sub eax, 0xa
jb 0x5e19af
add eax, 0xfffffff9
sub eax, 6
jb 0x5e19dc
add eax, 0xffffffe6
sub eax, 6
jb 0x5e19c4
jmp 0x5e19f2
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x30
or eax, edx
mov dword [ebp - 0xc], eax
jmp 0x5e19f2
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x61
add edx, 0xa
or eax, edx
mov dword [ebp - 0xc], eax
jmp 0x5e19f2
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x41
add edx, 0xa
or eax, edx
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x30
jb 0x5e1a09
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x39
jbe 0x5e1a31
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x61
jb 0x5e1a19
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x66
jbe 0x5e1a31
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x41
jb 0x5e1b33
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x46
ja 0x5e1b33
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
add eax, 0xffffffd0
sub eax, 0xa
jb 0x5e1a50
add eax, 0xfffffff9
sub eax, 6
jb 0x5e1a7d
add eax, 0xffffffe6
sub eax, 6
jb 0x5e1a65
jmp 0x5e1a93
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x30
or eax, edx
mov dword [ebp - 0xc], eax
jmp 0x5e1a93
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x61
add edx, 0xa
or eax, edx
mov dword [ebp - 0xc], eax
jmp 0x5e1a93
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x41
add edx, 0xa
or eax, edx
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x30
jb 0x5e1aaa
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x39
jbe 0x5e1aca
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x61
jb 0x5e1aba
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x66
jbe 0x5e1aca
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x41
jb 0x5e1b33
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x46
ja 0x5e1b33
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
add eax, 0xffffffd0
sub eax, 0xa
jb 0x5e1ae9
add eax, 0xfffffff9
sub eax, 6
jb 0x5e1b16
add eax, 0xffffffe6
sub eax, 6
jb 0x5e1afe
jmp 0x5e1b2c
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x30
or eax, edx
mov dword [ebp - 0xc], eax
jmp 0x5e1b2c
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x61
add edx, 0xa
or eax, edx
mov dword [ebp - 0xc], eax
jmp 0x5e1b2c
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x41
add edx, 0xa
or eax, edx
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
call fcn.005df5fc
lea eax, [ebp - 0x70]
mov edx, dword [ebx + 8]
call fcn.00409824
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x74]
movzx edx, word [ebp - 0xc]
call fcn.00409754
mov edx, dword [ebp - 0x74]
pop eax
call fcn.00409940
mov edx, dword [ebp - 0x70]
lea eax, [ebx + 8]
call fcn.00409838
jmp 0x5e1bd3
mov eax, dword [esi]
mov eax, dword [eax + 4]
test byte [eax + 0x50], 0x10
jne 0x5e1b7d
push ebp
mov eax, 0x5e23a4
call fcn.005dffdc
pop ecx
jmp 0x5e1bd3
mov eax, dword [esi]
call fcn.005df5fc
lea eax, [ebx + 8]
mov edx, 0x5e23d4
call fcn.004093e8
jmp 0x5e1bd3
lea edx, [ebp - 0x78]
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
call fcn.00596914
mov edx, dword [ebp - 0x78]
lea eax, [ebx + 8]
call fcn.004093e8
mov eax, dword [esi]
call fcn.005df5fc
jmp 0x5e1bd3
lea edx, [ebp - 0x7c]
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
call fcn.00596914
mov edx, dword [ebp - 0x7c]
lea eax, [ebx + 8]
call fcn.004093e8
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
cmp eax, dword [ebp - 8]
je 0x5e1bf2
mov eax, dword [esi]
mov eax, dword [eax + 8]
call fcn.00408bb0
mov edx, dword [esi]
cmp eax, dword [edx + 0xc]
jge 0x5e1249
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
cmp eax, dword [ebp - 8]
jne 0x5e1c08
mov eax, dword [esi]
call fcn.005df5fc
jmp case.0x5e0a48.0
push ebp
mov eax, 0x5e22a0
call fcn.005dffdc
pop ecx
jmp case.0x5e0a48.0
mov eax, dword [esi]
mov eax, dword [eax + 4]
test byte [eax + 0x50], 0x10
je 0x5e1c48
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x23
jne 0x5e1c48
mov eax, dword [esi]
call fcn.005df5fc
lea eax, [ebx + 4]
mov edx, 0x5e23dc
call fcn.00408af4
mov byte [ebx], 0x43
jmp case.0x5e0a48.0
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
call fcn.00595498
test al, al
jne 0x5e1c62
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x5c
jne case.0x5e0a48.0
lea eax, [ebx + 4]
call fcn.004086e8
jmp 0x5e2148
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x5c
jne 0x5e2123
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
sub eax, 0x55
je 0x5e1e27
sub eax, 3
je 0x5e1ca7
sub eax, 0x1d
je 0x5e1e27
sub eax, 3
jne 0x5e20ef
mov eax, dword [esi]
call fcn.005df5fc
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x30
jb 0x5e1cc3
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x39
jbe 0x5e1ceb
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x61
jb 0x5e1cd3
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x66
jbe 0x5e1ceb
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x41
jb 0x5e1ded
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x46
ja 0x5e1ded
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
add eax, 0xffffffd0
sub eax, 0xa
jb 0x5e1d0a
add eax, 0xfffffff9
sub eax, 6
jb 0x5e1d37
add eax, 0xffffffe6
sub eax, 6
jb 0x5e1d1f
jmp 0x5e1d4d
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x30
or eax, edx
mov dword [ebp - 0xc], eax
jmp 0x5e1d4d
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x61
add edx, 0xa
or eax, edx
mov dword [ebp - 0xc], eax
jmp 0x5e1d4d
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x41
add edx, 0xa
or eax, edx
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x30
jb 0x5e1d64
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x39
jbe 0x5e1d84
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x61
jb 0x5e1d74
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x66
jbe 0x5e1d84
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x41
jb 0x5e1ded
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x46
ja 0x5e1ded
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
add eax, 0xffffffd0
sub eax, 0xa
jb 0x5e1da3
add eax, 0xfffffff9
sub eax, 6
jb 0x5e1dd0
add eax, 0xffffffe6
sub eax, 6
jb 0x5e1db8
jmp 0x5e1de6
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x30
or eax, edx
mov dword [ebp - 0xc], eax
jmp 0x5e1de6
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x61
add edx, 0xa
or eax, edx
mov dword [ebp - 0xc], eax
jmp 0x5e1de6
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x41
add edx, 0xa
or eax, edx
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
call fcn.005df5fc
lea eax, [ebp - 0x80]
mov edx, dword [ebx + 4]
call fcn.00409824
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x84]
movzx edx, word [ebp - 0xc]
call fcn.00409754
mov edx, dword [ebp - 0x84]
pop eax
call fcn.00409940
mov edx, dword [ebp - 0x80]
lea eax, [ebx + 4]
call fcn.00409838
jmp 0x5e2148
mov eax, dword [esi]
call fcn.005df5fc
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x30
jb 0x5e1e43
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x39
jbe 0x5e1e6b
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x61
jb 0x5e1e53
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x66
jbe 0x5e1e6b
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x41
jb 0x5e20af
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x46
ja 0x5e20af
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
add eax, 0xffffffd0
sub eax, 0xa
jb 0x5e1e8a
add eax, 0xfffffff9
sub eax, 6
jb 0x5e1eb7
add eax, 0xffffffe6
sub eax, 6
jb 0x5e1e9f
jmp 0x5e1ecd
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x30
or eax, edx
mov dword [ebp - 0xc], eax
jmp 0x5e1ecd
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x61
add edx, 0xa
or eax, edx
mov dword [ebp - 0xc], eax
jmp 0x5e1ecd
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x41
add edx, 0xa
or eax, edx
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x30
jb 0x5e1ee4
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x39
jbe 0x5e1f0c
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x61
jb 0x5e1ef4
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x66
jbe 0x5e1f0c
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x41
jb 0x5e20af
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x46
ja 0x5e20af
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
add eax, 0xffffffd0
sub eax, 0xa
jb 0x5e1f2b
add eax, 0xfffffff9
sub eax, 6
jb 0x5e1f58
add eax, 0xffffffe6
sub eax, 6
jb 0x5e1f40
jmp 0x5e1f6e
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x30
or eax, edx
mov dword [ebp - 0xc], eax
jmp 0x5e1f6e
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x61
add edx, 0xa
or eax, edx
mov dword [ebp - 0xc], eax
jmp 0x5e1f6e
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x41
add edx, 0xa
or eax, edx
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x30
jb 0x5e1f85
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x39
jbe 0x5e1fad
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x61
jb 0x5e1f95
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x66
jbe 0x5e1fad
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x41
jb 0x5e20af
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x46
ja 0x5e20af
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
add eax, 0xffffffd0
sub eax, 0xa
jb 0x5e1fcc
add eax, 0xfffffff9
sub eax, 6
jb 0x5e1ff9
add eax, 0xffffffe6
sub eax, 6
jb 0x5e1fe1
jmp 0x5e200f
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x30
or eax, edx
mov dword [ebp - 0xc], eax
jmp 0x5e200f
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x61
add edx, 0xa
or eax, edx
mov dword [ebp - 0xc], eax
jmp 0x5e200f
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x41
add edx, 0xa
or eax, edx
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x30
jb 0x5e2026
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x39
jbe 0x5e2046
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x61
jb 0x5e2036
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x66
jbe 0x5e2046
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x41
jb 0x5e20af
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x46
ja 0x5e20af
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
add eax, 0xffffffd0
sub eax, 0xa
jb 0x5e2065
add eax, 0xfffffff9
sub eax, 6
jb 0x5e2092
add eax, 0xffffffe6
sub eax, 6
jb 0x5e207a
jmp 0x5e20a8
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x30
or eax, edx
mov dword [ebp - 0xc], eax
jmp 0x5e20a8
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x61
add edx, 0xa
or eax, edx
mov dword [ebp - 0xc], eax
jmp 0x5e20a8
mov eax, dword [ebp - 0xc]
shl eax, 4
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
sub edx, 0x41
add edx, 0xa
or eax, edx
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
call fcn.005df5fc
lea eax, [ebp - 0x88]
mov edx, dword [ebx + 4]
call fcn.00409824
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x8c]
movzx edx, word [ebp - 0xc]
call fcn.00409754
mov edx, dword [ebp - 0x8c]
pop eax
call fcn.00409940
mov edx, dword [ebp - 0x88]
lea eax, [ebx + 4]
call fcn.00409838
jmp 0x5e2148
push dword [ebx + 4]
push 0x5e23f4
lea edx, [ebp - 0x90]
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
call fcn.00596914
push dword [ebp - 0x90]
lea eax, [ebx + 4]
mov edx, 3
call fcn.004094d8
mov eax, dword [esi]
call fcn.005df5fc
jmp 0x5e2148
lea edx, [ebp - 0x94]
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
call fcn.00596914
mov edx, dword [ebp - 0x94]
lea eax, [ebx + 4]
call fcn.004093e8
mov eax, dword [esi]
call fcn.005df5fc
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
call fcn.005954b8
test al, al
jne 0x5e1c6f
mov eax, dword [esi]
cmp dword [eax + 0x14], 0x5c
je 0x5e1c6f
mov eax, dword [ebx + 4]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x5e2185
mov eax, dword [ebp - 0x44]
sub eax, 4
mov eax, dword [eax]
shr eax, 1
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jle 0x5e21b5
mov eax, dword [ebx + 4]
cmp word [eax], 0x200c
je 0x5e219f
mov eax, dword [ebx + 4]
cmp word [eax], 0x200d
jne 0x5e21b5
mov ecx, 0x5e2404
mov dl, 1
mov eax, dword [0x59c604]
call fcn.0059da94
call fcn.00407d20
mov eax, dword [ebx + 4]
call fcn.005e077c
mov byte [ebx], al
movzx eax, byte [ebx]
cmp al, 0x67
ja 0x5e21e0
and eax, 0x7f
mov edx, 0x6c8f8c
mov ecx, edx
and ecx, 3
sub edx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
add eax, ecx
bt dword [edx], eax
jae case.0x5e0a48.0
mov eax, dword [esi]
mov eax, dword [eax + 4]
cmp dword [eax + 0x4c], 0
je 0x5e2223
push 0x5e24a4
push dword [ebx + 4]
push 0x5e24ac
lea eax, [ebp - 0x98]
mov edx, 3
call fcn.004094d8
mov ecx, dword [ebp - 0x98]
mov dl, 1
mov eax, dword [0x59c604]
call fcn.0059db38
call fcn.00407d20
jmp case.0x5e0a48.0
mov byte [ebx], 3
jmp case.0x5e0a48.0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5e2292
lea eax, [ebp - 0x98]
mov edx, 3
call fcn.00408760
lea eax, [ebp - 0x8c]
mov edx, 4
call fcn.00408700
lea eax, [ebp - 0x7c]
mov edx, 2
call fcn.00408760
lea eax, [ebp - 0x74]
mov edx, 0xc
call fcn.00408700
ret