Function at 0x1001b7e2
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov eax, dword [0x10273d18]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
push edi
test dword [esi + 0x2a4], 0x180
je 0x1001b823
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.1001024d
mov ebx, dword [ebp - 0x18]
test al, al
je 0x1001ba12
mov edi, dword [ebp - 0x14]
jmp 0x1001be83
mov eax, dword [esi + 0x2b8]
xor ecx, ecx
mov edx, dword [esi + 0x2b4]
mov dword [ebp - 0x28], ecx
cmp eax, edx
jae 0x1001bbaf
movzx ecx, word [eax]
lea edi, [eax + 2]
movzx ebx, cx
mov eax, 0x80
mov dword [ebp - 0x24], ecx
mov dword [esi + 0x2b8], edi
cmp ebx, eax
jb 0x1001b87c
push ecx
call fcn.1001024d
pop ecx
test al, al
je 0x1001bc05
cmp ebx, 0x2028
je 0x1001b8aa
cmp ebx, 0x2029
jne 0x1001bb99
jmp 0x1001b8aa
mov al, byte [ebx + 0x101eb118]
cmp al, 0xa
jb 0x1001b923
cmp al, 0xb
jne 0x1001bb99
mov ecx, edi
cmp ebx, 0xd
jne 0x1001b8b0
cmp edi, edx
jae 0x1001b8b0
push 0xa
lea ecx, [esi + 0x2b0]
call fcn.1001024d
mov ecx, dword [esi + 0x2b8]
inc dword [esi + 0x2a0]
mov eax, dword [esi + 0x2a8]
mov edx, dword [esi + 0x2a0]
mov dword [esi + 0x2ac], eax
mov dword [esi + 0x2a8], ecx
sub edx, dword [esi + 0x210]
mov eax, dword [esi + 8]
dec eax
cmp edx, eax
jne 0x1001b90c
sub ecx, dword [esi + 0x2b0]
mov eax, dword [esi + 4]
sar ecx, 1
mov dword [eax + edx*4], ecx
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jne 0x1001b8ff
push 1
mov ecx, esi
call fcn.1001024d
test al, al
je 0x1001b90c
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
or dword [eax + ecx*4], 0xffffffff
inc dword [esi + 8]
mov eax, dword [esi + 0x2a4]
and eax, 0xffffffbf
or eax, 4
mov dword [esi + 0x2a4], eax
jmp 0x1001bb99
push 0xffffffffffffffff
mov ecx, esi
call fcn.1001024d
mov edi, eax
mov al, byte [ebx + 0x101eb118]
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x18], edi
cmp al, 1
je 0x1001c9a8
cmp al, 2
je 0x1001bc26
cmp al, 3
je 0x1001c7be
cmp al, 4
je 0x1001c76b
push 9
pop edi
cmp al, 5
je 0x1001c333
cmp al, 6
je 0x1001c303
cmp al, 7
je 0x1001c2e2
cmp al, 8
je 0x1001c29f
cmp al, 9
je 0x1001c14e
cmp ebx, 0x3c
ja 0x1001c003
je 0x1001bb16
sub ebx, 0x21
je 0x1001bf43
sub ebx, 4
je 0x1001bf29
sub ebx, 1
je 0x1001bef0
sub ebx, 4
je 0x1001bed0
sub ebx, 3
je 0x1001bac9
dec ebx
sub ebx, 1
jne 0x1001c0c6
push 0x2f
mov ecx, esi
call fcn.1001024d
mov ecx, esi
test al, al
je 0x1001ba3c
call fcn.1002bfce
cmp eax, 0x40
je 0x1001b9ed
cmp eax, 0x23
jne 0x1001bb60
mov ecx, esi
call fcn.1002bfe6
cmp eax, 0x40
mov ecx, esi
sete al
movzx eax, al
push eax
push 0
call fcn.1001024d
test al, al
jne 0x1001bb60
mov ebx, dword [ebp - 0x10]
mov edx, dword [esi + 0x2b8]
mov ecx, esi
sub edx, dword [esi + 0x2b0]
or dword [esi + 0x2a4], 0x40
sar edx, 1
mov dword [ebx + 8], edx
or dword [ebx], 0xffffffff
call fcn.1017b7c3
or eax, 0xffffffff
jmp 0x1001be9f
push 0x2a
call fcn.1001024d
test al, al
je 0x1001bccd
mov ebx, dword [esi + 0x2a0]
jmp 0x1001ba86
cmp edi, 0x2a
jne 0x1001ba65
push 0x2f
mov ecx, esi
call fcn.1001024d
test al, al
jne 0x1001baa6
cmp edi, 0x40
je 0x1001ba72
cmp edi, 0x23
jne 0x1001ba86
cmp edi, 0x40
sete al
mov ecx, esi
movzx eax, al
push eax
push 1
call fcn.1001024d
test al, al
je 0x1001ba0f
mov ecx, esi
call fcn.1002bfe6
mov edi, eax
cmp edi, 0xffffffff
jne 0x1001ba53
push 0x8c
push esi
call fcn.1001024d
pop ecx
pop ecx
jmp 0x1001ba0f
cmp ebx, dword [esi + 0x2a0]
je 0x1001bb89
mov eax, dword [esi + 0x2a4]
and eax, 0xffffffbf
or eax, 4
mov dword [esi + 0x2a4], eax
jmp 0x1001bb89
push 0x3d
mov ecx, esi
call fcn.1001024d
test al, al
jne 0x1001bebf
push 0x2d
mov ecx, esi
call fcn.1001024d
test al, al
je 0x1001beae
mov ecx, esi
call fcn.1002bfce
cmp eax, 0x3e
jne 0x1001be7d
mov eax, dword [esi + 0x2a4]
test al, 0x40
jne 0x1001be7d
and eax, 0xfffffdff
mov dword [esi + 0x2a4], eax
jmp 0x1001bb60
test byte [esi + 0x2a4], 8
mov ecx, esi
jne 0x1001bff1
push 0x21
call fcn.1001024d
test al, al
je 0x1001bf9f
push 0x2d
mov ecx, esi
call fcn.1001024d
test al, al
je 0x1001bf96
push 0x2d
mov ecx, esi
call fcn.1001024d
test al, al
je 0x1001bf8d
or dword [esi + 0x2a4], 0x200
test dword [esi + 0x2a4], 0x200
jne 0x1001bbf4
mov ecx, esi
call fcn.1002bfe6
cmp eax, 0xffffffff
je 0x1001bb81
cmp eax, 0xa
jne 0x1001bb70
push eax
mov ecx, esi
call fcn.1001024d
mov eax, dword [esi + 0x298]
dec eax
and eax, 3
mov dword [esi + 0x298], eax
mov eax, dword [esi + 0x2b8]
mov edx, dword [esi + 0x2b4]
cmp eax, edx
jb 0x1001b83c
xor ecx, ecx
push ecx
mov ecx, esi
call fcn.1001024d
xor edi, edi
mov ebx, eax
or dword [esi + 0x2a4], 2
jmp 0x1001be83
cmp eax, 0xa
je 0x1001bb81
cmp eax, 0x2d
jne 0x1001bbf4
push eax
mov ecx, esi
call fcn.1001024d
test al, al
je 0x1001bbf4
push 0x3e
mov ecx, esi
call fcn.1001024d
test al, al
je 0x1001bbf4
and dword [esi + 0x2a4], 0xfffffdff
mov ecx, esi
call fcn.1002bfe6
cmp eax, 0xffffffff
jne 0x1001bbc7
jmp 0x1001bb81
push 0xffffffffffffffff
mov ecx, esi
call fcn.1001024d
push dword [ebp - 0x24]
mov edi, eax
mov dword [ebp - 0x10], edi
call fcn.1001024d
pop ecx
test byte [eax + 4], 2
je 0x1001c0c6
mov ebx, dword [esi + 0x2b8]
sub ebx, 2
xor al, al
mov byte [ebp - 0x19], al
mov dword [ebp - 0x18], ebx
mov ecx, esi
call fcn.1001cb94
mov dword [ebp - 0x14], eax
cmp eax, 0xffffffff
je 0x1001bc85
mov edi, eax
push edi
call fcn.1001024d
pop ecx
test al, al
jne 0x1001bc6b
cmp edi, 0x5c
jne 0x1001bc7c
lea eax, [ebp - 0x2c]
mov ecx, esi
push eax
call fcn.1001024d
test al, al
je 0x1001bc7c
mov byte [ebp - 0x19], 1
mov ecx, esi
call fcn.1001cb94
mov edi, eax
mov dword [ebp - 0x14], edi
cmp edi, 0xffffffff
jne 0x1001bc48
mov edi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
push eax
mov ecx, esi
call fcn.1001024d
mov al, byte [ebp - 0x19]
test al, al
je 0x1001bca7
push ebx
mov ecx, esi
call fcn.1001024d
test al, al
je 0x1001ba0f
mov al, byte [ebp - 0x19]
test byte [esi + 0x2a4], 0x20
jne 0x1001c95b
test al, al
je 0x1001c90b
mov edx, dword [esi + 0x2d4]
mov ecx, dword [esi + 0x2d8]
jmp 0x1001c917
test byte [esi + 0x2a4], 8
je 0x1001be63
xor eax, eax
mov bl, al
mov dword [esi + 0x2d8], eax
mov byte [ebp - 0x19], bl
mov ecx, esi
call fcn.1002bfe6
mov edi, eax
cmp edi, 0x5c
jne 0x1001bd2f
lea edi, [esi + 0x2d0]
mov eax, dword [edi + 8]
cmp eax, dword [edi + 0xc]
jne 0x1001bd14
push 1
mov ecx, edi
call fcn.1001024d
test al, al
je 0x1001ba0f
mov ecx, dword [edi + 8]
mov eax, dword [edi + 4]
push 0x5c
pop edx
mov word [eax + ecx*2], dx
mov ecx, esi
inc dword [edi + 8]
call fcn.1002bfe6
mov edi, eax
jmp 0x1001bd4e
cmp edi, 0x5b
jne 0x1001bd3a
mov byte [ebp - 0x19], 1
jmp 0x1001bd60
cmp edi, 0x5d
jne 0x1001bd45
mov byte [ebp - 0x19], 0
jmp 0x1001bd60
cmp edi, 0x2f
jne 0x1001bd4e
test bl, bl
je 0x1001bd94
cmp edi, 0xa
je 0x1001be51
cmp edi, 0xffffffff
je 0x1001be51
lea ebx, [esi + 0x2d0]
mov eax, dword [ebx + 8]
cmp eax, dword [ebx + 0xc]
jne 0x1001bd7f
push 1
mov ecx, ebx
call fcn.1001024d
test al, al
je 0x1001ba0f
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 4]
mov word [eax + ecx*2], di
inc dword [ebx + 8]
mov bl, byte [ebp - 0x19]
jmp 0x1001bce7
mov edi, dword [esi + 0x2d8]
xor ebx, ebx
inc edi
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], edi
mov ecx, esi
call fcn.1002bfce
cmp eax, 0x67
jne 0x1001bdb8
test bl, 2
jne 0x1001bdf0
push 2
jmp 0x1001bde1
cmp eax, 0x69
jne 0x1001bdc7
test bl, 1
jne 0x1001bdf0
xor edi, edi
inc edi
jmp 0x1001bde2
cmp eax, 0x6d
jne 0x1001bdd5
test bl, 4
jne 0x1001bdf0
push 4
jmp 0x1001bde1
cmp eax, 0x79
jne 0x1001bdf0
test bl, 8
jne 0x1001bdf0
push 8
pop edi
mov ecx, esi
call fcn.1002bfe6
inc dword [ebp - 0x18]
or ebx, edi
jmp 0x1001bda3
mov ecx, esi
mov dword [ebp - 0x14], ebx
call fcn.1002bfce
mov ecx, 0x80
mov dword [ebp - 0x28], eax
cmp eax, ecx
jge 0x1001be41
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
pop ecx
test eax, eax
je 0x1001be41
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
inc eax
mov byte [ebp - 0x1b], 0
add dword [ebx + 4], eax
mov eax, dword [ebp - 0x28]
mov byte [ebp - 0x1c], al
lea eax, [ebp - 0x1c]
push eax
push 0x3a
push esi
call fcn.1001024d
add esp, 0xc
mov ecx, esi
call fcn.1002bfe6
jmp 0x1001ba12
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
push 0x13
mov dword [ebx + 0x10], eax
jmp 0x1001c9a2
push edi
mov ecx, esi
call fcn.1001024d
push 0x8d
jmp 0x1001ba99
mov ebx, dword [ebp - 0x10]
mov ecx, esi
push 0x3d
mov dword [ebx + 0x10], 0x1e
call fcn.1001024d
push 0x5a
pop edi
push 0x6b
jmp 0x1001bee8
push 7
pop edi
mov ebx, dword [ebp - 0x10]
mov ecx, dword [esi + 0x2b8]
mov eax, edi
sub ecx, dword [esi + 0x2b0]
or dword [esi + 0x2a4], 0x40
sar ecx, 1
mov dword [ebx + 8], ecx
mov dword [ebx], edi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10002050
leave
ret
mov ebx, dword [ebp - 0x10]
push 0x58
mov dword [ebx + 0x10], 0x22
jmp 0x1001c9a2
mov ebx, dword [ebp - 0x10]
push 0x63
mov dword [ebx + 0x10], 0x1c
jmp 0x1001c9a2
mov ebx, dword [ebp - 0x10]
mov ecx, esi
push 0x3d
mov dword [ebx + 0x10], 0x1d
call fcn.1001024d
push 0x59
pop edi
push 0x6a
test al, al
pop ecx
cmovne edi, ecx
jmp 0x1001be83
push 0x26
mov ecx, esi
call fcn.1001024d
test al, al
je 0x1001bf04
push 0x46
jmp 0x1001be7f
push 0x3d
mov ecx, esi
call fcn.1001024d
mov ebx, dword [ebp - 0x10]
test al, al
je 0x1001bf22
mov dword [ebx + 0x10], 0x11
push 0x66
jmp 0x1001c9a2
push 0x49
jmp 0x1001c9a2
mov ebx, dword [ebp - 0x10]
mov ecx, esi
push 0x3d
mov dword [ebx + 0x10], 0x1f
call fcn.1001024d
push 0x5b
pop edi
push 0x6c
jmp 0x1001bee8
push 0x3d
mov ecx, esi
call fcn.1001024d
test al, al
je 0x1001bf7c
push 0x3d
mov ecx, esi
call fcn.1001024d
mov ebx, dword [ebp - 0x10]
test al, al
je 0x1001bf6e
mov dword [ebx + 0x10], 0x49
push 0x4c
jmp 0x1001c9a2
mov dword [ebx + 0x10], 0x13
push 0x4d
jmp 0x1001c9a2
mov ebx, dword [ebp - 0x10]
push 0x5e
mov dword [ebx + 0x10], 0x20
jmp 0x1001c9a2
push 0x2d
mov ecx, esi
call fcn.1001024d
push 0x21
mov ecx, esi
call fcn.1001024d
push 0x3c
mov ecx, esi
call fcn.1001024d
mov ecx, esi
push 0x3d
test al, al
je 0x1001bfc9
mov ebx, dword [ebp - 0x10]
mov dword [ebx + 0x10], 0x18
call fcn.1001024d
push 0x54
pop edi
push 0x67
jmp 0x1001bee8
call fcn.1001024d
mov ebx, dword [ebp - 0x10]
test al, al
je 0x1001bfe3
mov dword [ebx + 0x10], 0x15
push 0x4f
jmp 0x1001c9a2
mov dword [ebx + 0x10], 0x14
push 0x4e
jmp 0x1001c9a2
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.1001024d
jmp 0x1001b810
sub ebx, 0x3e
je 0x1001c0d7
dec ebx
sub ebx, 1
je 0x1001c0d0
sub ebx, 0x1c
je 0x1001c0a3
dec ebx
sub ebx, 1
je 0x1001c07e
sub ebx, 0x1e
je 0x1001c045
dec ebx
sub ebx, 1
jne 0x1001c0c6
mov ebx, dword [ebp - 0x10]
push 0x5f
mov dword [ebx + 0x10], 0x21
jmp 0x1001c9a2
push 0x7c
mov ecx, esi
call fcn.1001024d
test al, al
je 0x1001c059
push 0x45
jmp 0x1001be7f
push 0x3d
mov ecx, esi
call fcn.1001024d
mov ebx, dword [ebp - 0x10]
test al, al
je 0x1001c077
mov dword [ebx + 0x10], 0xf
push 0x64
jmp 0x1001c9a2
push 0x47
jmp 0x1001c9a2
push 0x3d
mov ecx, esi
call fcn.1001024d
mov ebx, dword [ebp - 0x10]
test al, al
je 0x1001c09c
mov dword [ebx + 0x10], 0x10
push 0x65
jmp 0x1001c9a2
push 0x48
jmp 0x1001c9a2
lea eax, [ebp - 0x2c]
mov ecx, esi
push eax
call fcn.1001024d
mov byte [ebp - 0x19], al
test al, al
je 0x1001c0c6
mov ebx, dword [esi + 0x2b8]
mov edi, dword [ebp - 0x10]
sub ebx, 0xc
jmp 0x1001bc34
push 0x90
jmp 0x1001ba99
push 0x39
jmp 0x1001be7f
push 0x3e
mov ecx, esi
call fcn.1001024d
mov ecx, esi
test al, al
je 0x1001c124
push 0x3e
call fcn.1001024d
mov ebx, dword [ebp - 0x10]
mov ecx, esi
push 0x3d
test al, al
je 0x1001c10e
mov dword [ebx + 0x10], 0x1a
call fcn.1001024d
push 0x56
pop edi
push 0x69
jmp 0x1001bee8
mov dword [ebx + 0x10], 0x19
call fcn.1001024d
push 0x55
pop edi
push 0x68
jmp 0x1001bee8
push 0x3d
call fcn.1001024d
mov ebx, dword [ebp - 0x10]
test al, al
je 0x1001c140
mov dword [ebx + 0x10], 0x17
push 0x51
jmp 0x1001c9a2
mov dword [ebx + 0x10], 0x16
push 0x50
jmp 0x1001c9a2
mov ecx, esi
call fcn.1001cb94
mov ebx, eax
cmp ebx, 0x78
je 0x1001c1db
cmp ebx, 0x58
je 0x1001c1db
mov ecx, dword [esi + 0x2b8]
lea eax, [ebx - 0x30]
sub ecx, 2
mov dword [ebp - 0x14], ecx
cmp eax, edi
ja 0x1001c1d3
mov dword [ebp - 0x18], 8
push 0xe8
push esi
call fcn.1001024d
pop ecx
pop ecx
test al, al
je 0x1001ba0f
cmp ebx, 0x38
jge 0x1001c1aa
mov ecx, esi
call fcn.1001cb94
mov ebx, eax
lea eax, [ebx - 0x30]
cmp eax, edi
jbe 0x1001c17b
jmp 0x1001c232
mov ecx, 0x101eb1c4
mov eax, 0x101eb1c0
cmovne eax, ecx
push eax
push 0x91
push esi
call fcn.1001024d
add esp, 0xc
test al, al
je 0x1001ba0f
jmp 0x1001c30f
mov dword [ebp - 0x14], ecx
jmp 0x1001c30f
mov ecx, esi
mov dword [ebp - 0x18], 0x10
call fcn.1001cb94
mov ebx, eax
mov eax, 0x80
cmp ebx, eax
jge 0x1001c290
push ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
pop ecx
test eax, eax
je 0x1001c290
mov edi, dword [esi + 0x2b8]
sub edi, 2
mov dword [ebp - 0x14], edi
mov edi, 0x80
push ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
pop ecx
test eax, eax
je 0x1001c232
mov ecx, esi
call fcn.1001cb94
mov ebx, eax
cmp ebx, edi
jl 0x1001c219
mov edi, dword [ebp - 0x14]
mov ecx, esi
push ebx
call fcn.1001024d
cmp ebx, 0xffffffff
je 0x1001c257
push ebx
call fcn.1001024d
pop ecx
test al, al
je 0x1001c257
push 0xa1
jmp 0x1001ba99
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x18]
push dword [esi + 0x2b8]
push edi
push dword [esi + 0x5ac]
call fcn.1001024d
mov ebx, dword [ebp - 0x10]
add esp, 0x18
test al, al
je 0x1001ba12
movsd xmm0, qword [ebp - 0x20]
and dword [ebx + 0x18], 0
jmp 0x1001c8cc
push ebx
mov ecx, esi
call fcn.1001024d
push 7
jmp 0x1001ba99
push 0x3d
mov ecx, esi
call fcn.1001024d
test al, al
je 0x1001c2bd
mov ebx, dword [ebp - 0x10]
push 0x62
mov dword [ebx + 0x10], 0x1b
jmp 0x1001c9a2
push 0x2b
mov ecx, esi
call fcn.1001024d
mov ebx, dword [ebp - 0x10]
test al, al
je 0x1001c2d4
push 6
jmp 0x1001c9a2
mov dword [ebx + 0x10], 0x23
push 0x57
jmp 0x1001c9a2
push 0x3a
pop edi
push edi
mov ecx, esi
call fcn.1001024d
mov ebx, dword [ebp - 0x10]
test al, al
jne 0x1001be83
and dword [ebx + 0x10], 0
push 5
jmp 0x1001c9a2
mov eax, dword [esi + 0x2b8]
sub eax, 2
mov dword [ebp - 0x14], eax
and dword [ebp - 0x24], 0
jmp 0x1001c31e
mov ecx, esi
call fcn.1001cb94
mov ebx, eax
lea eax, [ebx - 0x30]
cmp eax, edi
jbe 0x1001c315
cmp ebx, 0x2e
jne 0x1001c7f8
jmp 0x1001c7e1
and dword [esi + 0x2d8], 0
mov ecx, esi
call fcn.1001cb94
mov ecx, eax
movzx eax, cl
mov dword [ebp - 0x1c], ecx
cmp byte [eax + esi + 0x4a0], 0
je 0x1001c6c8
cmp ecx, ebx
je 0x1001c736
cmp ecx, 0x5c
jne 0x1001c6b5
mov ecx, esi
call fcn.1002bfe6
mov ecx, eax
mov dword [ebp - 0x1c], ecx
sub eax, 0x62
je 0x1001c6ac
sub eax, 4
je 0x1001c6a3
sub eax, 8
je 0x1001c69a
sub eax, 4
je 0x1001c691
dec eax
sub eax, 1
je 0x1001c68c
dec eax
sub eax, 1
je 0x1001c683
lea eax, [ecx - 0x30]
mov dword [ebp - 0x14], eax
cmp eax, 7
ja 0x1001c451
mov ecx, esi
call fcn.1002bfce
mov ecx, dword [ebp - 0x14]
mov edx, eax
mov dword [ebp - 0x28], edx
test ecx, ecx
jne 0x1001c3d5
lea eax, [edx - 0x30]
cmp eax, edi
ja 0x1001c3fa
push 0xe8
push esi
call fcn.1001024d
pop ecx
pop ecx
test al, al
je 0x1001ba0f
or dword [esi + 0x2a4], 0x400
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x28]
lea eax, [edx - 0x30]
cmp eax, 7
ja 0x1001c43f
add edx, 0xffffffd0
lea ecx, [edx + ecx*8]
mov dword [ebp - 0x14], ecx
mov ecx, esi
call fcn.1002bfe6
mov ecx, esi
call fcn.1002bfce
mov ecx, eax
lea eax, [ecx - 0x30]
cmp eax, 7
mov eax, dword [ebp - 0x14]
ja 0x1001c442
mov edx, eax
add eax, 0xfffffffa
lea eax, [ecx + eax*8]
mov dword [ebp - 0x14], eax
cmp eax, 0xff
jg 0x1001c44d
mov ecx, esi
call fcn.1002bfe6
mov eax, dword [ebp - 0x14]
movzx ecx, ax
mov dword [ebp - 0x1c], ecx
jmp 0x1001c6c8
mov eax, edx
jmp 0x1001c442
cmp ecx, 0x75
jne 0x1001c5b4
lea eax, [ebp - 0xc]
mov ecx, esi
push eax
push 4
call fcn.1001024d
test al, al
je 0x1001c705
mov ax, word [ebp - 0xc]
mov ecx, 0x80
cmp ax, cx
jae 0x1001c705
movzx eax, ax
push eax
mov dword [ebp - 0x28], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
pop ecx
test eax, eax
je 0x1001c705
mov ax, word [ebp - 0xa]
mov ecx, 0x80
cmp ax, cx
jae 0x1001c705
movzx eax, ax
push eax
mov dword [ebp - 0x24], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
pop ecx
test eax, eax
je 0x1001c705
mov ax, word [ebp - 8]
mov ecx, 0x80
cmp ax, cx
jae 0x1001c705
movzx eax, ax
push eax
mov dword [ebp - 0x30], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
pop ecx
test eax, eax
je 0x1001c705
mov ax, word [ebp - 6]
mov ecx, 0x80
cmp ax, cx
jae 0x1001c705
movzx eax, ax
push eax
mov dword [ebp - 0x2c], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
pop ecx
test eax, eax
je 0x1001c705
mov ecx, dword [ebp - 0x28]
lea eax, [ecx - 0x30]
cmp eax, edi
ja 0x1001c521
lea edx, [ecx - 0x30]
mov dword [ebp - 0x1c], edx
jmp 0x1001c52f
push ecx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
sub eax, 0x57
pop ecx
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x24]
lea eax, [ecx - 0x30]
cmp eax, edi
ja 0x1001c541
lea eax, [ecx - 0x30]
mov dword [ebp - 0x14], eax
jmp 0x1001c54f
push ecx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
pop ecx
lea ecx, [eax - 0x57]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x30]
lea eax, [ecx - 0x30]
cmp eax, edi
ja 0x1001c561
lea eax, [ecx - 0x30]
mov dword [ebp - 0x24], eax
jmp 0x1001c56f
push ecx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
pop ecx
lea ecx, [eax - 0x57]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x2c]
lea eax, [ecx - 0x30]
cmp eax, edi
ja 0x1001c57e
add ecx, 0xffffffd0
jmp 0x1001c589
push ecx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
pop ecx
lea ecx, [eax - 0x57]
mov eax, dword [ebp - 0x1c]
shl eax, 4
add eax, dword [ebp - 0x14]
shl eax, 4
add eax, dword [ebp - 0x24]
shl eax, 4
add eax, ecx
push 3
mov dword [ebp - 0x1c], eax
pop edi
mov ecx, esi
call fcn.1002bfe6
sub edi, 1
jns 0x1001c5a3
jmp 0x1001c673
cmp ecx, 0x78
jne 0x1001c678
lea eax, [ebp - 0x18]
mov ecx, esi
push eax
push 2
call fcn.1001024d
test al, al
je 0x1001c71d
mov eax, dword [ebp - 0x18]
mov ecx, 0x80
cmp ax, cx
jae 0x1001c71d
movzx eax, ax
push eax
mov dword [ebp - 0x2c], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
pop ecx
test eax, eax
je 0x1001c71d
mov ax, word [ebp - 0x16]
mov ecx, 0x80
cmp ax, cx
jae 0x1001c71d
movzx eax, ax
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
pop ecx
test eax, eax
je 0x1001c71d
mov ecx, dword [ebp - 0x2c]
lea eax, [ecx - 0x30]
cmp eax, edi
ja 0x1001c630
lea edx, [ecx - 0x30]
mov dword [ebp - 0x1c], edx
jmp 0x1001c63e
push ecx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
pop ecx
lea ecx, [eax - 0x57]
mov dword [ebp - 0x1c], ecx
movzx ecx, word [ebp - 0x16]
lea eax, [ecx - 0x30]
cmp eax, edi
ja 0x1001c64e
add ecx, 0xffffffd0
jmp 0x1001c659
push ecx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
pop ecx
lea ecx, [eax - 0x57]
mov eax, dword [ebp - 0x1c]
xor edi, edi
shl eax, 4
add eax, ecx
inc edi
mov dword [ebp - 0x1c], eax
mov ecx, esi
call fcn.1002bfe6
sub edi, 1
jns 0x1001c667
push 9
pop edi
jmp 0x1001c6c8
cmp ecx, 0xa
je 0x1001c33a
jmp 0x1001c6c8
mov dword [ebp - 0x1c], 0xb
jmp 0x1001c6c8
mov dword [ebp - 0x1c], edi
jmp 0x1001c6c8
mov dword [ebp - 0x1c], 0xd
jmp 0x1001c6c8
mov dword [ebp - 0x1c], 0xa
jmp 0x1001c6c8
mov dword [ebp - 0x1c], 0xc
jmp 0x1001c6c8
mov dword [ebp - 0x1c], 8
jmp 0x1001c6c8
push ecx
call fcn.1001024d
pop ecx
mov ecx, dword [ebp - 0x1c]
test al, al
jne 0x1001c724
cmp ecx, 0xffffffff
je 0x1001c724
lea edx, [esi + 0x2d0]
mov eax, dword [edx + 8]
cmp eax, dword [edx + 0xc]
jne 0x1001c6ed
push 1
mov ecx, edx
call fcn.1001024d
test al, al
je 0x1001ba0f
lea edx, [esi + 0x2d0]
mov ecx, dword [edx + 8]
mov eax, dword [edx + 4]
mov edx, dword [ebp - 0x1c]
mov word [eax + ecx*2], dx
inc dword [esi + 0x2d8]
jmp 0x1001c33a
push str.Unicode
push 0x10e
push esi
call fcn.1001024d
add esp, 0xc
jmp 0x1001ba0f
push str.hexadecimal
jmp 0x1001c70a
push ecx
mov ecx, esi
call fcn.1001024d
push 0x8a
jmp 0x1001ba99
push 0
push dword [esi + 0x2d8]
push dword [esi + 0x2d4]
push dword [esi + 0x5ac]
call fcn.1001dce1
add esp, 0x10
test eax, eax
je 0x1001ba0f
mov ebx, dword [ebp - 0x10]
push 0x12
mov dword [ebx + 0x10], 0x3d
jmp 0x1001c99f
push 0x3d
mov ecx, esi
call fcn.1001024d
mov ecx, esi
test al, al
je 0x1001c7a1
push 0x3d
call fcn.1001024d
test al, al
je 0x1001c793
mov dword [edi + 0x10], 0x48
push 0x4a
jmp 0x1001be7f
mov dword [edi + 0x10], 0x12
push 0x4b
jmp 0x1001be7f
push 0x3e
call fcn.1001024d
test al, al
je 0x1001c7b3
push 0x60
jmp 0x1001be7f
and dword [edi + 0x10], 0
push 0x61
jmp 0x1001be7f
mov ecx, esi
call fcn.1001cb94
mov ecx, eax
push 9
pop edi
lea eax, [ecx - 0x30]
cmp eax, edi
ja 0x1001c8d8
mov eax, dword [esi + 0x2b8]
sub eax, 4
mov dword [ebp - 0x14], eax
mov ecx, esi
call fcn.1001cb94
mov ebx, eax
lea eax, [ebx - 0x30]
cmp eax, edi
jbe 0x1001c7e1
mov dword [ebp - 0x24], 1
cmp ebx, 0x65
je 0x1001c802
cmp ebx, 0x45
jne 0x1001c84b
mov ecx, esi
mov byte [ebp - 0x28], 1
call fcn.1001cb94
mov ecx, eax
cmp ecx, 0x2b
je 0x1001c819
cmp ecx, 0x2d
jne 0x1001c822
mov ecx, esi
call fcn.1001cb94
mov ecx, eax
lea eax, [ecx - 0x30]
cmp eax, edi
jbe 0x1001c83b
push ecx
mov ecx, esi
call fcn.1001024d
push 0x88
jmp 0x1001ba99
mov ecx, esi
call fcn.1001cb94
mov ebx, eax
lea eax, [ebx - 0x30]
cmp eax, edi
jbe 0x1001c83b
push ebx
mov ecx, esi
call fcn.1001024d
cmp ebx, 0xffffffff
je 0x1001c867
push ebx
call fcn.1001024d
pop ecx
test al, al
jne 0x1001c24d
mov edi, dword [ebp - 0x24]
cmp edi, 1
je 0x1001c89a
cmp byte [ebp - 0x28], 0
jne 0x1001c89a
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x2c]
push eax
push 0xa
push dword [esi + 0x2b8]
push dword [ebp - 0x14]
push dword [esi + 0x5ac]
call fcn.1001024d
add esp, 0x18
test al, al
jmp 0x1001c8bb
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x2c]
push eax
push dword [esi + 0x2b8]
push dword [ebp - 0x14]
push dword [esi + 0x5ac]
call fcn.1001024d
add esp, 0x14
test eax, eax
je 0x1001ba0f
mov ebx, dword [ebp - 0x10]
movsd xmm0, qword [ebp - 0xc]
mov dword [ebx + 0x18], edi
movsd qword [ebx + 0x10], xmm0
push 0x11
jmp 0x1001c9a2
cmp ecx, 0x2e
jne 0x1001c8fc
mov ecx, esi
call fcn.1001cb94
cmp eax, 0x2e
je 0x1001be80
push eax
mov ecx, esi
call fcn.1001024d
push 0x3b
jmp 0x1001be7f
push ecx
mov ecx, esi
call fcn.1001024d
push 8
jmp 0x1001be7f
mov ecx, dword [esi + 0x2b8]
mov edx, ebx
sub ecx, ebx
sar ecx, 1
lea eax, [edi + 0x10]
mov dword [ebp - 0x14], 0x10
push eax
lea eax, [ebp - 0x14]
push eax
push ecx
push edx
mov ecx, esi
call fcn.1001024d
test al, al
je 0x1001ba0f
mov edi, dword [ebp - 0x14]
cmp edi, 0x10
je 0x1001c95b
cmp edi, 0x18
jne 0x1001be80
lea eax, [esi + 0x5b8]
mov ecx, esi
push eax
call fcn.1001024d
jmp 0x1001be80
cmp byte [ebp - 0x19], 0
jne 0x1001c96d
mov eax, dword [esi + 0x2b8]
sub eax, ebx
sar eax, 1
jmp 0x1001c979
mov ebx, dword [esi + 0x2d4]
mov eax, dword [esi + 0x2d8]
push 0
push eax
push ebx
push dword [esi + 0x5ac]
call fcn.1001dce1
mov ebx, dword [ebp - 0x10]
add esp, 0x10
test eax, eax
je 0x1001ba12
mov dword [ebx + 0x10], 0x3b
push 0x10
mov dword [ebx + 0x14], eax
pop edi
jmp 0x1001be83
movsx edi, byte [esi + ebx + 0x320]
jmp 0x1001be80