Function at 0x1001cf64
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov eax, dword [0x10277d18]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
push edi
test dword [esi + 0x2a4], 0x180
je 0x1001cfa5
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.10108fd4
mov ebx, dword [ebp - 0x18]
test al, al
je 0x1001d194
mov edi, dword [ebp - 0x14]
jmp 0x1001d605
mov eax, dword [esi + 0x2b8]
xor ecx, ecx
mov edx, dword [esi + 0x2b4]
mov dword [ebp - 0x28], ecx
cmp eax, edx
jae 0x1001d331
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 0x1001cffe
push ecx
call fcn.10108fd4
pop ecx
test al, al
je 0x1001d387
cmp ebx, 0x2028
je 0x1001d02c
cmp ebx, 0x2029
jne 0x1001d31b
jmp 0x1001d02c
mov al, byte [ebx + 0x101ee120]
cmp al, 0xa
jb 0x1001d0a5
cmp al, 0xb
jne 0x1001d31b
mov ecx, edi
cmp ebx, 0xd
jne 0x1001d032
cmp edi, edx
jae 0x1001d032
push 0xa
lea ecx, [esi + 0x2b0]
call fcn.10108fd4
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 0x1001d08e
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 0x1001d081
push 1
mov ecx, esi
call fcn.10108fd4
test al, al
je 0x1001d08e
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 0x1001d31b
push 0xffffffffffffffff
mov ecx, esi
call fcn.10108fd4
mov edi, eax
mov al, byte [ebx + 0x101ee120]
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x18], edi
cmp al, 1
je 0x1001e124
cmp al, 2
je 0x1001d3a8
cmp al, 3
je 0x1001df3a
cmp al, 4
je 0x1001dee7
push 9
pop edi
cmp al, 5
je 0x1001dab5
cmp al, 6
je 0x1001da85
cmp al, 7
je 0x1001da64
cmp al, 8
je 0x1001da21
cmp al, 9
je 0x1001d8d0
cmp ebx, 0x3c
ja 0x1001d785
je 0x1001d298
sub ebx, 0x21
je 0x1001d6c5
sub ebx, 4
je 0x1001d6ab
sub ebx, 1
je 0x1001d672
sub ebx, 4
je 0x1001d652
sub ebx, 3
je 0x1001d24b
dec ebx
sub ebx, 1
jne 0x1001d848
push 0x2f
mov ecx, esi
call fcn.10108fd4
mov ecx, esi
test al, al
je 0x1001d1be
call fcn.1002d725
cmp eax, 0x40
je 0x1001d16f
cmp eax, 0x23
jne 0x1001d2e2
mov ecx, esi
call fcn.1002d73d
cmp eax, 0x40
mov ecx, esi
sete al
movzx eax, al
push eax
push 0
call fcn.10108fd4
test al, al
jne 0x1001d2e2
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.1017bff6
or eax, 0xffffffff
jmp 0x1001d621
push 0x2a
call fcn.10108fd4
test al, al
je 0x1001d44f
mov ebx, dword [esi + 0x2a0]
jmp 0x1001d208
cmp edi, 0x2a
jne 0x1001d1e7
push 0x2f
mov ecx, esi
call fcn.10108fd4
test al, al
jne 0x1001d228
cmp edi, 0x40
je 0x1001d1f4
cmp edi, 0x23
jne 0x1001d208
cmp edi, 0x40
sete al
mov ecx, esi
movzx eax, al
push eax
push 1
call fcn.10108fd4
test al, al
je 0x1001d191
mov ecx, esi
call fcn.1002d73d
mov edi, eax
cmp edi, 0xffffffff
jne 0x1001d1d5
push 0x8c
push esi
call fcn.10108fd4
pop ecx
pop ecx
jmp 0x1001d191
cmp ebx, dword [esi + 0x2a0]
je 0x1001d30b
mov eax, dword [esi + 0x2a4]
and eax, 0xffffffbf
or eax, 4
mov dword [esi + 0x2a4], eax
jmp 0x1001d30b
push 0x3d
mov ecx, esi
call fcn.10108fd4
test al, al
jne 0x1001d641
push 0x2d
mov ecx, esi
call fcn.10108fd4
test al, al
je 0x1001d630
mov ecx, esi
call fcn.1002d725
cmp eax, 0x3e
jne 0x1001d5ff
mov eax, dword [esi + 0x2a4]
test al, 0x40
jne 0x1001d5ff
and eax, 0xfffffdff
mov dword [esi + 0x2a4], eax
jmp 0x1001d2e2
test byte [esi + 0x2a4], 8
mov ecx, esi
jne 0x1001d773
push 0x21
call fcn.10108fd4
test al, al
je 0x1001d721
push 0x2d
mov ecx, esi
call fcn.10108fd4
test al, al
je 0x1001d718
push 0x2d
mov ecx, esi
call fcn.10108fd4
test al, al
je 0x1001d70f
or dword [esi + 0x2a4], 0x200
test dword [esi + 0x2a4], 0x200
jne 0x1001d376
mov ecx, esi
call fcn.1002d73d
cmp eax, 0xffffffff
je 0x1001d303
cmp eax, 0xa
jne 0x1001d2f2
push eax
mov ecx, esi
call fcn.10108fd4
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 0x1001cfbe
xor ecx, ecx
push ecx
mov ecx, esi
call fcn.10108fd4
xor edi, edi
mov ebx, eax
or dword [esi + 0x2a4], 2
jmp 0x1001d605
cmp eax, 0xa
je 0x1001d303
cmp eax, 0x2d
jne 0x1001d376
push eax
mov ecx, esi
call fcn.10108fd4
test al, al
je 0x1001d376
push 0x3e
mov ecx, esi
call fcn.10108fd4
test al, al
je 0x1001d376
and dword [esi + 0x2a4], 0xfffffdff
mov ecx, esi
call fcn.1002d73d
cmp eax, 0xffffffff
jne 0x1001d349
jmp 0x1001d303
push 0xffffffffffffffff
mov ecx, esi
call fcn.10108fd4
push dword [ebp - 0x24]
mov edi, eax
mov dword [ebp - 0x10], edi
call fcn.10108fd4
pop ecx
test byte [eax + 4], 2
je 0x1001d848
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.1001e310
mov dword [ebp - 0x14], eax
cmp eax, 0xffffffff
je 0x1001d407
mov edi, eax
push edi
call fcn.10108fd4
pop ecx
test al, al
jne 0x1001d3ed
cmp edi, 0x5c
jne 0x1001d3fe
lea eax, [ebp - 0x2c]
mov ecx, esi
push eax
call fcn.10108fd4
test al, al
je 0x1001d3fe
mov byte [ebp - 0x19], 1
mov ecx, esi
call fcn.1001e310
mov edi, eax
mov dword [ebp - 0x14], edi
cmp edi, 0xffffffff
jne 0x1001d3ca
mov edi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
push eax
mov ecx, esi
call fcn.10108fd4
mov al, byte [ebp - 0x19]
test al, al
je 0x1001d429
push ebx
mov ecx, esi
call fcn.10108fd4
test al, al
je 0x1001d191
mov al, byte [ebp - 0x19]
test byte [esi + 0x2a4], 0x20
jne 0x1001e0d7
test al, al
je 0x1001e087
mov edx, dword [esi + 0x2d4]
mov ecx, dword [esi + 0x2d8]
jmp 0x1001e093
test byte [esi + 0x2a4], 8
je 0x1001d5e5
xor eax, eax
mov bl, al
mov dword [esi + 0x2d8], eax
mov byte [ebp - 0x19], bl
mov ecx, esi
call fcn.1002d73d
mov edi, eax
cmp edi, 0x5c
jne 0x1001d4b1
lea edi, [esi + 0x2d0]
mov eax, dword [edi + 8]
cmp eax, dword [edi + 0xc]
jne 0x1001d496
push 1
mov ecx, edi
call fcn.10108fd4
test al, al
je 0x1001d191
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.1002d73d
mov edi, eax
jmp 0x1001d4d0
cmp edi, 0x5b
jne 0x1001d4bc
mov byte [ebp - 0x19], 1
jmp 0x1001d4e2
cmp edi, 0x5d
jne 0x1001d4c7
mov byte [ebp - 0x19], 0
jmp 0x1001d4e2
cmp edi, 0x2f
jne 0x1001d4d0
test bl, bl
je 0x1001d516
cmp edi, 0xa
je 0x1001d5d3
cmp edi, 0xffffffff
je 0x1001d5d3
lea ebx, [esi + 0x2d0]
mov eax, dword [ebx + 8]
cmp eax, dword [ebx + 0xc]
jne 0x1001d501
push 1
mov ecx, ebx
call fcn.10108fd4
test al, al
je 0x1001d191
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 0x1001d469
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.1002d725
cmp eax, 0x67
jne 0x1001d53a
test bl, 2
jne 0x1001d572
push 2
jmp 0x1001d563
cmp eax, 0x69
jne 0x1001d549
test bl, 1
jne 0x1001d572
xor edi, edi
inc edi
jmp 0x1001d564
cmp eax, 0x6d
jne 0x1001d557
test bl, 4
jne 0x1001d572
push 4
jmp 0x1001d563
cmp eax, 0x79
jne 0x1001d572
test bl, 8
jne 0x1001d572
push 8
pop edi
mov ecx, esi
call fcn.1002d73d
inc dword [ebp - 0x18]
or ebx, edi
jmp 0x1001d525
mov ecx, esi
mov dword [ebp - 0x14], ebx
call fcn.1002d725
mov ecx, 0x80
mov dword [ebp - 0x28], eax
cmp eax, ecx
jge 0x1001d5c3
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
pop ecx
test eax, eax
je 0x1001d5c3
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.10108fd4
add esp, 0xc
mov ecx, esi
call fcn.1002d73d
jmp 0x1001d194
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
push 0x13
mov dword [ebx + 0x10], eax
jmp 0x1001e11e
push edi
mov ecx, esi
call fcn.10108fd4
push 0x8d
jmp 0x1001d21b
mov ebx, dword [ebp - 0x10]
mov ecx, esi
push 0x3d
mov dword [ebx + 0x10], 0x1e
call fcn.10108fd4
push 0x5a
pop edi
push 0x6b
jmp 0x1001d66a
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 0x1001e11e
mov ebx, dword [ebp - 0x10]
push 0x63
mov dword [ebx + 0x10], 0x1c
jmp 0x1001e11e
mov ebx, dword [ebp - 0x10]
mov ecx, esi
push 0x3d
mov dword [ebx + 0x10], 0x1d
call fcn.10108fd4
push 0x59
pop edi
push 0x6a
test al, al
pop ecx
cmovne edi, ecx
jmp 0x1001d605
push 0x26
mov ecx, esi
call fcn.10108fd4
test al, al
je 0x1001d686
push 0x46
jmp 0x1001d601
push 0x3d
mov ecx, esi
call fcn.10108fd4
mov ebx, dword [ebp - 0x10]
test al, al
je 0x1001d6a4
mov dword [ebx + 0x10], 0x11
push 0x66
jmp 0x1001e11e
push 0x49
jmp 0x1001e11e
mov ebx, dword [ebp - 0x10]
mov ecx, esi
push 0x3d
mov dword [ebx + 0x10], 0x1f
call fcn.10108fd4
push 0x5b
pop edi
push 0x6c
jmp 0x1001d66a
push 0x3d
mov ecx, esi
call fcn.10108fd4
test al, al
je 0x1001d6fe
push 0x3d
mov ecx, esi
call fcn.10108fd4
mov ebx, dword [ebp - 0x10]
test al, al
je 0x1001d6f0
mov dword [ebx + 0x10], 0x49
push 0x4c
jmp 0x1001e11e
mov dword [ebx + 0x10], 0x13
push 0x4d
jmp 0x1001e11e
mov ebx, dword [ebp - 0x10]
push 0x5e
mov dword [ebx + 0x10], 0x20
jmp 0x1001e11e
push 0x2d
mov ecx, esi
call fcn.10108fd4
push 0x21
mov ecx, esi
call fcn.10108fd4
push 0x3c
mov ecx, esi
call fcn.10108fd4
mov ecx, esi
push 0x3d
test al, al
je 0x1001d74b
mov ebx, dword [ebp - 0x10]
mov dword [ebx + 0x10], 0x18
call fcn.10108fd4
push 0x54
pop edi
push 0x67
jmp 0x1001d66a
call fcn.10108fd4
mov ebx, dword [ebp - 0x10]
test al, al
je 0x1001d765
mov dword [ebx + 0x10], 0x15
push 0x4f
jmp 0x1001e11e
mov dword [ebx + 0x10], 0x14
push 0x4e
jmp 0x1001e11e
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.10108fd4
jmp 0x1001cf92
sub ebx, 0x3e
je 0x1001d859
dec ebx
sub ebx, 1
je 0x1001d852
sub ebx, 0x1c
je 0x1001d825
dec ebx
sub ebx, 1
je 0x1001d800
sub ebx, 0x1e
je 0x1001d7c7
dec ebx
sub ebx, 1
jne 0x1001d848
mov ebx, dword [ebp - 0x10]
push 0x5f
mov dword [ebx + 0x10], 0x21
jmp 0x1001e11e
push 0x7c
mov ecx, esi
call fcn.10108fd4
test al, al
je 0x1001d7db
push 0x45
jmp 0x1001d601
push 0x3d
mov ecx, esi
call fcn.10108fd4
mov ebx, dword [ebp - 0x10]
test al, al
je 0x1001d7f9
mov dword [ebx + 0x10], 0xf
push 0x64
jmp 0x1001e11e
push 0x47
jmp 0x1001e11e
push 0x3d
mov ecx, esi
call fcn.10108fd4
mov ebx, dword [ebp - 0x10]
test al, al
je 0x1001d81e
mov dword [ebx + 0x10], 0x10
push 0x65
jmp 0x1001e11e
push 0x48
jmp 0x1001e11e
lea eax, [ebp - 0x2c]
mov ecx, esi
push eax
call fcn.10108fd4
mov byte [ebp - 0x19], al
test al, al
je 0x1001d848
mov ebx, dword [esi + 0x2b8]
mov edi, dword [ebp - 0x10]
sub ebx, 0xc
jmp 0x1001d3b6
push 0x90
jmp 0x1001d21b
push 0x39
jmp 0x1001d601
push 0x3e
mov ecx, esi
call fcn.10108fd4
mov ecx, esi
test al, al
je 0x1001d8a6
push 0x3e
call fcn.10108fd4
mov ebx, dword [ebp - 0x10]
mov ecx, esi
push 0x3d
test al, al
je 0x1001d890
mov dword [ebx + 0x10], 0x1a
call fcn.10108fd4
push 0x56
pop edi
push 0x69
jmp 0x1001d66a
mov dword [ebx + 0x10], 0x19
call fcn.10108fd4
push 0x55
pop edi
push 0x68
jmp 0x1001d66a
push 0x3d
call fcn.10108fd4
mov ebx, dword [ebp - 0x10]
test al, al
je 0x1001d8c2
mov dword [ebx + 0x10], 0x17
push 0x51
jmp 0x1001e11e
mov dword [ebx + 0x10], 0x16
push 0x50
jmp 0x1001e11e
mov ecx, esi
call fcn.1001e310
mov ebx, eax
cmp ebx, 0x78
je 0x1001d95d
cmp ebx, 0x58
je 0x1001d95d
mov ecx, dword [esi + 0x2b8]
lea eax, [ebx - 0x30]
sub ecx, 2
mov dword [ebp - 0x14], ecx
cmp eax, edi
ja 0x1001d955
mov dword [ebp - 0x18], 8
push 0xe8
push esi
call fcn.10108fd4
pop ecx
pop ecx
test al, al
je 0x1001d191
cmp ebx, 0x38
jge 0x1001d92c
mov ecx, esi
call fcn.1001e310
mov ebx, eax
lea eax, [ebx - 0x30]
cmp eax, edi
jbe 0x1001d8fd
jmp 0x1001d9b4
mov ecx, 0x101ee1cc
mov eax, 0x101ee1c8
cmovne eax, ecx
push eax
push 0x91
push esi
call fcn.10108fd4
add esp, 0xc
test al, al
je 0x1001d191
jmp 0x1001da91
mov dword [ebp - 0x14], ecx
jmp 0x1001da91
mov ecx, esi
mov dword [ebp - 0x18], 0x10
call fcn.1001e310
mov ebx, eax
mov eax, 0x80
cmp ebx, eax
jge 0x1001da12
push ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
pop ecx
test eax, eax
je 0x1001da12
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 0x1001d9b4
mov ecx, esi
call fcn.1001e310
mov ebx, eax
cmp ebx, edi
jl 0x1001d99b
mov edi, dword [ebp - 0x14]
mov ecx, esi
push ebx
call fcn.10108fd4
cmp ebx, 0xffffffff
je 0x1001d9d9
push ebx
call fcn.10108fd4
pop ecx
test al, al
je 0x1001d9d9
push 0xa1
jmp 0x1001d21b
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.10108fd4
mov ebx, dword [ebp - 0x10]
add esp, 0x18
test al, al
je 0x1001d194
movsd xmm0, qword [ebp - 0x20]
and dword [ebx + 0x18], 0
jmp 0x1001e048
push ebx
mov ecx, esi
call fcn.10108fd4
push 7
jmp 0x1001d21b
push 0x3d
mov ecx, esi
call fcn.10108fd4
test al, al
je 0x1001da3f
mov ebx, dword [ebp - 0x10]
push 0x62
mov dword [ebx + 0x10], 0x1b
jmp 0x1001e11e
push 0x2b
mov ecx, esi
call fcn.10108fd4
mov ebx, dword [ebp - 0x10]
test al, al
je 0x1001da56
push 6
jmp 0x1001e11e
mov dword [ebx + 0x10], 0x23
push 0x57
jmp 0x1001e11e
push 0x3a
pop edi
push edi
mov ecx, esi
call fcn.10108fd4
mov ebx, dword [ebp - 0x10]
test al, al
jne 0x1001d605
and dword [ebx + 0x10], 0
push 5
jmp 0x1001e11e
mov eax, dword [esi + 0x2b8]
sub eax, 2
mov dword [ebp - 0x14], eax
and dword [ebp - 0x24], 0
jmp 0x1001daa0
mov ecx, esi
call fcn.1001e310
mov ebx, eax
lea eax, [ebx - 0x30]
cmp eax, edi
jbe 0x1001da97
cmp ebx, 0x2e
jne 0x1001df74
jmp 0x1001df5d
and dword [esi + 0x2d8], 0
mov ecx, esi
call fcn.1001e310
mov ecx, eax
movzx eax, cl
mov dword [ebp - 0x1c], ecx
cmp byte [eax + esi + 0x4a0], 0
je 0x1001de44
cmp ecx, ebx
je 0x1001deb2
cmp ecx, 0x5c
jne 0x1001de31
mov ecx, esi
call fcn.1002d73d
mov ecx, eax
mov dword [ebp - 0x1c], ecx
sub eax, 0x62
je 0x1001de28
sub eax, 4
je 0x1001de1f
sub eax, 8
je 0x1001de16
sub eax, 4
je 0x1001de0d
dec eax
sub eax, 1
je 0x1001de08
dec eax
sub eax, 1
je 0x1001ddff
lea eax, [ecx - 0x30]
mov dword [ebp - 0x14], eax
cmp eax, 7
ja 0x1001dbd3
mov ecx, esi
call fcn.1002d725
mov ecx, dword [ebp - 0x14]
mov edx, eax
mov dword [ebp - 0x28], edx
test ecx, ecx
jne 0x1001db57
lea eax, [edx - 0x30]
cmp eax, edi
ja 0x1001db7c
push 0xe8
push esi
call fcn.10108fd4
pop ecx
pop ecx
test al, al
je 0x1001d191
or dword [esi + 0x2a4], 0x400
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x28]
lea eax, [edx - 0x30]
cmp eax, 7
ja 0x1001dbc1
add edx, 0xffffffd0
lea ecx, [edx + ecx*8]
mov dword [ebp - 0x14], ecx
mov ecx, esi
call fcn.1002d73d
mov ecx, esi
call fcn.1002d725
mov ecx, eax
lea eax, [ecx - 0x30]
cmp eax, 7
mov eax, dword [ebp - 0x14]
ja 0x1001dbc4
mov edx, eax
add eax, 0xfffffffa
lea eax, [ecx + eax*8]
mov dword [ebp - 0x14], eax
cmp eax, 0xff
jg 0x1001dbcf
mov ecx, esi
call fcn.1002d73d
mov eax, dword [ebp - 0x14]
movzx ecx, ax
mov dword [ebp - 0x1c], ecx
jmp 0x1001de44
mov eax, edx
jmp 0x1001dbc4
cmp ecx, 0x75
jne 0x1001dd30
lea eax, [ebp - 0xc]
mov ecx, esi
push eax
push 4
call fcn.10108fd4
test al, al
je 0x1001de81
mov ax, word [ebp - 0xc]
mov ecx, 0x80
cmp ax, cx
jae 0x1001de81
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 0x1001de81
mov ax, word [ebp - 0xa]
mov ecx, 0x80
cmp ax, cx
jae 0x1001de81
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 0x1001de81
mov ax, word [ebp - 8]
mov ecx, 0x80
cmp ax, cx
jae 0x1001de81
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 0x1001de81
mov ax, word [ebp - 6]
mov ecx, 0x80
cmp ax, cx
jae 0x1001de81
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 0x1001de81
mov ecx, dword [ebp - 0x28]
lea eax, [ecx - 0x30]
cmp eax, edi
ja 0x1001dca3
lea edx, [ecx - 0x30]
mov dword [ebp - 0x1c], edx
jmp 0x1001dcb1
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 0x1001dcc0
lea eax, [ecx - 0x30]
jmp 0x1001dccb
push ecx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
pop ecx
sub eax, 0x57
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x14], eax
lea eax, [ecx - 0x30]
cmp eax, edi
ja 0x1001dcdd
lea eax, [ecx - 0x30]
jmp 0x1001dce8
push ecx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
pop ecx
sub eax, 0x57
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x24], eax
lea eax, [ecx - 0x30]
cmp eax, edi
ja 0x1001dcfa
add ecx, 0xffffffd0
jmp 0x1001dd05
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.1002d73d
sub edi, 1
jns 0x1001dd1f
jmp 0x1001ddef
cmp ecx, 0x78
jne 0x1001ddf4
lea eax, [ebp - 0x18]
mov ecx, esi
push eax
push 2
call fcn.10108fd4
test al, al
je 0x1001de99
mov eax, dword [ebp - 0x18]
mov ecx, 0x80
cmp ax, cx
jae 0x1001de99
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 0x1001de99
mov ax, word [ebp - 0x16]
mov ecx, 0x80
cmp ax, cx
jae 0x1001de99
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 0x1001de99
mov ecx, dword [ebp - 0x2c]
lea eax, [ecx - 0x30]
cmp eax, edi
ja 0x1001ddac
lea edx, [ecx - 0x30]
mov dword [ebp - 0x1c], edx
jmp 0x1001ddba
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
movzx ecx, word [ebp - 0x16]
lea eax, [ecx - 0x30]
cmp eax, edi
ja 0x1001ddca
add ecx, 0xffffffd0
jmp 0x1001ddd5
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.1002d73d
sub edi, 1
jns 0x1001dde3
push 9
pop edi
jmp 0x1001de44
cmp ecx, 0xa
je 0x1001dabc
jmp 0x1001de44
mov dword [ebp - 0x1c], 0xb
jmp 0x1001de44
mov dword [ebp - 0x1c], edi
jmp 0x1001de44
mov dword [ebp - 0x1c], 0xd
jmp 0x1001de44
mov dword [ebp - 0x1c], 0xa
jmp 0x1001de44
mov dword [ebp - 0x1c], 0xc
jmp 0x1001de44
mov dword [ebp - 0x1c], 8
jmp 0x1001de44
push ecx
call fcn.10108fd4
pop ecx
mov ecx, dword [ebp - 0x1c]
test al, al
jne 0x1001dea0
cmp ecx, 0xffffffff
je 0x1001dea0
lea edx, [esi + 0x2d0]
mov eax, dword [edx + 8]
cmp eax, dword [edx + 0xc]
jne 0x1001de69
push 1
mov ecx, edx
call fcn.10108fd4
test al, al
je 0x1001d191
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 0x1001dabc
push str.Unicode
push 0x10e
push esi
call fcn.10108fd4
add esp, 0xc
jmp 0x1001d191
push str.hexadecimal
jmp 0x1001de86
push ecx
mov ecx, esi
call fcn.10108fd4
push 0x8a
jmp 0x1001d21b
push 0
push dword [esi + 0x2d8]
push dword [esi + 0x2d4]
push dword [esi + 0x5ac]
call fcn.1001f45d
add esp, 0x10
test eax, eax
je 0x1001d191
mov ebx, dword [ebp - 0x10]
push 0x12
mov dword [ebx + 0x10], 0x3d
jmp 0x1001e11b
push 0x3d
mov ecx, esi
call fcn.10108fd4
mov ecx, esi
test al, al
je 0x1001df1d
push 0x3d
call fcn.10108fd4
test al, al
je 0x1001df0f
mov dword [edi + 0x10], 0x48
push 0x4a
jmp 0x1001d601
mov dword [edi + 0x10], 0x12
push 0x4b
jmp 0x1001d601
push 0x3e
call fcn.10108fd4
test al, al
je 0x1001df2f
push 0x60
jmp 0x1001d601
and dword [edi + 0x10], 0
push 0x61
jmp 0x1001d601
mov ecx, esi
call fcn.1001e310
mov ecx, eax
push 9
pop edi
lea eax, [ecx - 0x30]
cmp eax, edi
ja 0x1001e054
mov eax, dword [esi + 0x2b8]
sub eax, 4
mov dword [ebp - 0x14], eax
mov ecx, esi
call fcn.1001e310
mov ebx, eax
lea eax, [ebx - 0x30]
cmp eax, edi
jbe 0x1001df5d
mov dword [ebp - 0x24], 1
cmp ebx, 0x65
je 0x1001df7e
cmp ebx, 0x45
jne 0x1001dfc7
mov ecx, esi
mov byte [ebp - 0x28], 1
call fcn.1001e310
mov ecx, eax
cmp ecx, 0x2b
je 0x1001df95
cmp ecx, 0x2d
jne 0x1001df9e
mov ecx, esi
call fcn.1001e310
mov ecx, eax
lea eax, [ecx - 0x30]
cmp eax, edi
jbe 0x1001dfb7
push ecx
mov ecx, esi
call fcn.10108fd4
push 0x88
jmp 0x1001d21b
mov ecx, esi
call fcn.1001e310
mov ebx, eax
lea eax, [ebx - 0x30]
cmp eax, edi
jbe 0x1001dfb7
push ebx
mov ecx, esi
call fcn.10108fd4
cmp ebx, 0xffffffff
je 0x1001dfe3
push ebx
call fcn.10108fd4
pop ecx
test al, al
jne 0x1001d9cf
mov edi, dword [ebp - 0x24]
cmp edi, 1
je 0x1001e016
cmp byte [ebp - 0x28], 0
jne 0x1001e016
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.10108fd4
add esp, 0x18
test al, al
jmp 0x1001e037
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.10108fd4
add esp, 0x14
test eax, eax
je 0x1001d191
mov ebx, dword [ebp - 0x10]
movsd xmm0, qword [ebp - 0xc]
mov dword [ebx + 0x18], edi
movsd qword [ebx + 0x10], xmm0
push 0x11
jmp 0x1001e11e
cmp ecx, 0x2e
jne 0x1001e078
mov ecx, esi
call fcn.1001e310
cmp eax, 0x2e
je 0x1001d602
push eax
mov ecx, esi
call fcn.10108fd4
push 0x3b
jmp 0x1001d601
push ecx
mov ecx, esi
call fcn.10108fd4
push 8
jmp 0x1001d601
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.10108fd4
test al, al
je 0x1001d191
mov edi, dword [ebp - 0x14]
cmp edi, 0x10
je 0x1001e0d7
cmp edi, 0x18
jne 0x1001d602
lea eax, [esi + 0x5b8]
mov ecx, esi
push eax
call fcn.10108fd4
jmp 0x1001d602
cmp byte [ebp - 0x19], 0
jne 0x1001e0e9
mov eax, dword [esi + 0x2b8]
sub eax, ebx
sar eax, 1
jmp 0x1001e0f5
mov ebx, dword [esi + 0x2d4]
mov eax, dword [esi + 0x2d8]
push 0
push eax
push ebx
push dword [esi + 0x5ac]
call fcn.1001f45d
mov ebx, dword [ebp - 0x10]
add esp, 0x10
test eax, eax
je 0x1001d194
mov dword [ebx + 0x10], 0x3b
push 0x10
mov dword [ebx + 0x14], eax
pop edi
jmp 0x1001d605
movsx edi, byte [esi + ebx + 0x320]
jmp 0x1001d602