Function at 0x10009c20
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x94
mov eax, dword [0x1007b054]
xor eax, esp
mov dword [esp + 0x90], eax
mov eax, dword [ebp + 0x14]
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x48], edi
mov edi, dword [ebp + 0x18]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x38], eax
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + 4]
mov dword [esp + 0x40], ecx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [esp + 0x3c]
push eax
call fcn.1000acb0
mov ecx, dword [esp + 0x44]
add esp, 4
mov ebx, eax
mov dword [esp + 0x44], ebx
test ecx, ecx
je 0x10009c93
mov edx, dword [ecx]
call dword [edx + 8]
test eax, eax
je 0x10009c93
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov eax, dword [ebx]
lea ecx, [esp + 0x64]
push ecx
mov ecx, ebx
call dword [eax + 0x14]
mov eax, dword [edi + 0x30]
mov edi, dword [eax + 4]
mov ecx, edi
mov dword [esp + 0x40], edi
mov eax, dword [edi]
call dword [eax + 4]
lea eax, [esp + 0x3c]
push eax
call fcn.100068b0
add esp, 4
mov ebx, eax
test edi, edi
je 0x10009cd6
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 8]
test eax, eax
je 0x10009cd6
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov eax, dword [ebx]
lea ecx, [esp + 0x7c]
push ecx
push 0x100747b1
push str.0123456789ABCDEFabcdef_XxPp
mov ecx, ebx
call dword [eax + 0x1c]
push dword [esp + 0x14]
mov ebx, dword [esp + 0x4c]
mov edi, ebx
push esi
mov byte [esp + 0x22], 0
call fcn.1000ac10
add esp, 8
test al, al
jne 0x10009e37
mov cl, byte [esi + 4]
test cl, cl
jne 0x10009d4a
mov ecx, dword [esi]
test ecx, ecx
je 0x10009d3e
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x10009d2f
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x10009d2f
movzx eax, byte [edx]
jmp 0x10009d34
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, 0xffffffff
je 0x10009d3e
mov byte [esi + 5], al
jmp 0x10009d44
mov dword [esi], 0
mov byte [esi + 4], 1
mov cl, 1
mov al, byte [esi + 5]
cmp al, byte [esp + 0x93]
jne 0x10009da9
mov byte [ebx], 0x2b
lea edi, [ebx + 1]
mov ecx, dword [esi]
test ecx, ecx
je 0x10009d99
mov eax, dword [ecx + 0x1c]
cmp dword [eax], 0
je 0x10009d85
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x10009d85
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x10009d8a
mov eax, dword [ecx]
call dword [eax + 0x1c]
cmp eax, 0xffffffff
je 0x10009d99
xor al, al
mov byte [esi + 4], al
jmp 0x10009e37
mov al, 1
mov dword [esi], 0
mov byte [esi + 4], al
jmp 0x10009e37
test cl, cl
jne 0x10009de5
mov ecx, dword [esi]
test ecx, ecx
je 0x10009dd8
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x10009dc9
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x10009dc9
movzx eax, byte [edx]
jmp 0x10009dce
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, 0xffffffff
je 0x10009dd8
mov byte [esi + 5], al
jmp 0x10009de1
mov al, byte [esi + 5]
mov dword [esi], 0
mov byte [esi + 4], 1
cmp al, byte [esp + 0x92]
jne 0x10009e37
mov byte [ebx], 0x2d
lea edi, [ebx + 1]
mov ecx, dword [esi]
test ecx, ecx
je 0x10009e2d
mov eax, dword [ecx + 0x1c]
cmp dword [eax], 0
je 0x10009e1d
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x10009e1d
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x10009e22
mov eax, dword [ecx]
call dword [eax + 0x1c]
cmp eax, 0xffffffff
je 0x10009e2d
mov byte [esi + 4], 0
jmp 0x10009e37
mov dword [esi], 0
mov byte [esi + 4], 1
push dword [esp + 0x14]
mov word [edi], 0x7830
xor ebx, ebx
add edi, 2
mov byte [esp + 0x17], 0
push esi
mov dword [esp + 0x28], edi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x24], ebx
call fcn.1000ac10
add esp, 8
test al, al
jne 0x10009fc7
cmp byte [esi + 4], bl
jne 0x10009e9c
mov ecx, dword [esi]
test ecx, ecx
je 0x10009e96
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x10009e87
mov eax, dword [ecx + 0x2c]
cmp dword [eax], ebx
jle 0x10009e87
movzx eax, byte [edx]
jmp 0x10009e8c
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, 0xffffffff
je 0x10009e96
mov byte [esi + 5], al
jmp 0x10009e98
mov dword [esi], ebx
mov byte [esi + 4], 1
mov al, byte [esi + 5]
cmp al, byte [esp + 0x7c]
jne 0x10009fc7
mov ecx, dword [esi]
test ecx, ecx
je 0x10009edf
mov eax, dword [ecx + 0x1c]
cmp dword [eax], ebx
je 0x10009ed1
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x10009ed1
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x10009ed6
mov eax, dword [ecx]
call dword [eax + 0x1c]
cmp eax, 0xffffffff
je 0x10009edf
xor al, al
jmp 0x10009ee3
mov dword [esi], ebx
mov al, 1
push dword [esp + 0x14]
mov byte [esi + 4], al
push esi
call fcn.1000ac10
add esp, 8
test al, al
jne 0x10009fc2
mov cl, byte [esi + 4]
test cl, cl
jne 0x10009f34
mov ecx, dword [esi]
test ecx, ecx
je 0x10009f2c
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x10009f1d
mov eax, dword [ecx + 0x2c]
cmp dword [eax], ebx
jle 0x10009f1d
movzx eax, byte [edx]
jmp 0x10009f22
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, 0xffffffff
je 0x10009f2c
mov byte [esi + 5], al
jmp 0x10009f2e
mov dword [esi], ebx
mov byte [esi + 4], 1
mov cl, 1
mov al, byte [esi + 5]
cmp al, byte [esp + 0x95]
je 0x10009f80
test cl, cl
jne 0x10009f77
mov ecx, dword [esi]
test ecx, ecx
je 0x10009f6e
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x10009f5f
mov eax, dword [ecx + 0x2c]
cmp dword [eax], ebx
jle 0x10009f5f
movzx eax, byte [edx]
jmp 0x10009f64
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, 0xffffffff
je 0x10009f6e
mov byte [esi + 5], al
jmp 0x10009f73
mov al, byte [esi + 5]
mov dword [esi], ebx
mov byte [esi + 4], 1
cmp al, byte [esp + 0x94]
jne 0x10009fc2
mov ecx, dword [esi]
test ecx, ecx
je 0x10009fb9
mov eax, dword [ecx + 0x1c]
cmp dword [eax], ebx
je 0x10009fa8
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x10009fa8
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x10009fad
mov eax, dword [ecx]
call dword [eax + 0x1c]
cmp eax, 0xffffffff
je 0x10009fb9
xor al, al
mov byte [esi + 4], al
jmp 0x10009fc7
mov al, 1
mov dword [esi], ebx
mov byte [esi + 4], al
jmp 0x10009fc7
mov byte [esp + 0x13], 1
mov ecx, dword [esp + 0x38]
mov eax, 0x24
mov edx, 0x300
cmp dword [ecx], 0x3b9aca00
cmove eax, edx
cmp dword [esp + 0x78], 0x10
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x64]
cmovae eax, dword [esp + 0x64]
mov dword [esp + 0x34], eax
mov al, byte [eax]
cmp al, 0x7f
je 0x1000a360
test al, al
jle 0x1000a360
cmp dword [esp + 0x74], ebx
jne 0x1000a012
mov byte [esp + 0x19], bl
jmp 0x1000a021
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov byte [esp + 0x19], al
push 0
push 1
lea ecx, [esp + 0x54]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], 0xf
call fcn.10006430
push dword [esp + 0x14]
xor edi, edi
push esi
call fcn.1000ac10
add esp, 8
test al, al
jne 0x1000a27c
mov eax, dword [esp + 0x60]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x2c], eax
mov al, byte [esi + 4]
mov byte [esp + 0x1b], al
test al, al
jne 0x1000a0aa
mov ecx, dword [esi]
test ecx, ecx
je 0x1000a09b
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x1000a08c
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x1000a08c
movzx eax, byte [edx]
jmp 0x1000a091
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, 0xffffffff
je 0x1000a09b
mov byte [esi + 5], al
jmp 0x1000a0a1
mov dword [esi], 0
mov byte [esi + 4], 1
mov byte [esp + 0x1b], 1
mov bl, byte [esi + 5]
push 0x1c
movzx eax, bl
push eax
lea eax, [esp + 0x84]
push eax
call fcn.100234d0
add esp, 0xc
lea ecx, [esp + 0x98]
test eax, eax
cmovne ecx, eax
lea eax, [esp + 0x7c]
sub ecx, eax
cmp ecx, 0x16
jae 0x1000a143
mov edx, dword [esp + 0x30]
mov byte [esp + 0x13], 1
cmp dword [esp + 0x3c], edx
jg 0x1000a0ef
inc dword [esp + 0x1c]
jmp 0x1000a10d
test ecx, ecx
jne 0x1000a0f7
test edx, edx
je 0x1000a10d
mov al, byte [ecx + str.0123456789ABCDEFabcdef_XxPp]
mov ecx, dword [esp + 0x20]
mov byte [ecx], al
inc ecx
inc edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x30], edx
cmp dword [esp + 0x28], 0x10
lea eax, [esp + 0x4c]
mov ebx, dword [esp + 0x2c]
cmovae eax, ebx
setae cl
cmp byte [eax + edi], 0x7f
je 0x1000a206
test cl, cl
lea eax, [esp + 0x4c]
cmovne eax, ebx
inc byte [eax + edi]
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x28], ebx
jmp 0x1000a1fe
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x4c]
cmp edx, 0x10
cmovae eax, dword [esp + 0x2c]
setae byte [esp + 0x27]
cmp byte [eax + edi], 0
je 0x1000a25d
mov al, byte [esp + 0x19]
test al, al
je 0x1000a25d
cmp byte [esp + 0x1b], 0
jne 0x1000a1b7
mov ecx, dword [esi]
test ecx, ecx
je 0x1000a1a2
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x1000a191
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x1000a191
movzx ebx, byte [edx]
jmp 0x1000a198
mov eax, dword [ecx]
call dword [eax + 0x18]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x1000a1a2
mov byte [esi + 5], bl
jmp 0x1000a1ab
mov bl, byte [esi + 5]
mov dword [esi], 0
mov edx, dword [esp + 0x28]
mov al, byte [esp + 0x19]
mov byte [esi + 4], 1
cmp bl, al
jne 0x1000a25d
mov ecx, dword [esp + 0x5c]
cmp ecx, edx
jae 0x1000a1e4
cmp byte [esp + 0x27], 0
lea eax, [ecx + 1]
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x4c]
cmovne eax, dword [esp + 0x2c]
mov word [eax + ecx], 0
jmp 0x1000a1f5
push 0
push dword [esp + 0x3c]
lea ecx, [esp + 0x54]
push 1
call fcn.10006c20
mov eax, dword [esp + 0x60]
inc edi
mov dword [esp + 0x28], eax
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x2c], ebx
mov ecx, dword [esi]
test ecx, ecx
je 0x1000a23d
mov eax, dword [ecx + 0x1c]
cmp dword [eax], 0
je 0x1000a22f
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x1000a22f
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x1000a234
mov eax, dword [ecx]
call dword [eax + 0x1c]
cmp eax, 0xffffffff
je 0x1000a23d
xor al, al
jmp 0x1000a245
mov dword [esi], 0
mov al, 1
push dword [esp + 0x14]
mov byte [esi + 4], al
push esi
call fcn.1000ac10
add esp, 8
test al, al
je 0x1000a065
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
test edi, edi
je 0x1000a284
cmp edx, 0x10
lea eax, [esp + 0x4c]
cmovae eax, ebx
cmp byte [eax + edi], 0
jle 0x1000a2c9
inc edi
jmp 0x1000a284
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x34]
test edi, edi
je 0x1000a2ce
mov cl, byte [eax]
cmp cl, 0x7f
je 0x1000a2ce
sub edi, 1
je 0x1000a2a7
cmp edx, 0x10
lea eax, [esp + 0x4c]
cmovae eax, ebx
cmp cl, byte [eax + edi]
jne 0x1000a2c9
test edi, edi
jne 0x1000a2b9
cmp edx, 0x10
lea eax, [esp + 0x4c]
cmovae eax, ebx
cmp cl, byte [eax]
jl 0x1000a2c9
mov eax, dword [esp + 0x34]
inc eax
cmp byte [eax], 0
jle 0x1000a284
mov dword [esp + 0x34], eax
jmp 0x1000a288
mov byte [esp + 0x1a], 1
cmp edx, 0x10
jb 0x1000a2fc
inc edx
mov eax, ebx
cmp edx, 0x1000
jb 0x1000a2f2
mov ebx, dword [ebx - 4]
add edx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000aaed
push edx
push ebx
call fcn.10022487
add esp, 8
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0x20]
cmp byte [esp + 0x13], 0
je 0x1000a317
test ebx, ebx
jne 0x1000a317
mov byte [edi], 0x30
inc edi
mov dword [esp + 0x20], edi
push dword [esp + 0x14]
push esi
call fcn.1000ac10
add esp, 8
test al, al
jne 0x1000a4e3
cmp byte [esi + 4], al
jne 0x1000a47e
mov ecx, dword [esi]
test ecx, ecx
je 0x1000a474
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x1000a465
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x1000a465
movzx eax, byte [edx]
jmp 0x1000a46a
push dword [esp + 0x14]
push esi
call fcn.1000ac10
add esp, 8
test al, al
jne 0x1000a304
cmp byte [esi + 4], 0
jne 0x1000a3ac
mov ecx, dword [esi]
test ecx, ecx
je 0x1000a3a2
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x1000a393
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x1000a393
movzx eax, byte [edx]
jmp 0x1000a398
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, 0xffffffff
je 0x1000a3a2
mov byte [esi + 5], al
jmp 0x1000a3a8
mov dword [esi], 0
mov byte [esi + 4], 1
movzx eax, byte [esi + 5]
push 0x1c
push eax
lea eax, [esp + 0x84]
push eax
call fcn.100234d0
add esp, 0xc
lea ecx, [esp + 0x98]
test eax, eax
cmovne ecx, eax
lea eax, [esp + 0x7c]
sub ecx, eax
cmp ecx, 0x16
jae 0x1000a304
cmp dword [esp + 0x3c], ebx
jg 0x1000a3ea
inc dword [esp + 0x1c]
jmp 0x1000a404
test ecx, ecx
jne 0x1000a3f2
test ebx, ebx
je 0x1000a404
mov al, byte [ecx + str.0123456789ABCDEFabcdef_XxPp]
mov byte [edi], al
inc edi
inc ebx
mov dword [esp + 0x20], edi
mov dword [esp + 0x30], ebx
mov ecx, dword [esi]
mov byte [esp + 0x13], 1
test ecx, ecx
je 0x1000a440
mov eax, dword [ecx + 0x1c]
cmp dword [eax], 0
je 0x1000a432
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x1000a432
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x1000a437
mov eax, dword [ecx]
call dword [eax + 0x1c]
cmp eax, 0xffffffff
je 0x1000a440
xor al, al
jmp 0x1000a448
mov dword [esi], 0
mov al, 1
push dword [esp + 0x14]
mov byte [esi + 4], al
push esi
call fcn.1000ac10
add esp, 8
test al, al
je 0x1000a371
jmp 0x1000a30b
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, 0xffffffff
je 0x1000a474
mov byte [esi + 5], al
jmp 0x1000a47a
mov dword [esi], 0
mov byte [esi + 4], 1
mov ecx, dword [esp + 0x44]
mov bl, byte [esi + 5]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
cmp bl, al
jne 0x1000a4e3
call fcn.10029d66
mov eax, dword [eax]
mov al, byte [eax]
mov byte [edi], al
inc edi
mov ecx, dword [esi]
mov dword [esp + 0x20], edi
test ecx, ecx
je 0x1000a4d9
mov eax, dword [ecx + 0x1c]
cmp dword [eax], 0
je 0x1000a4c9
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x1000a4c9
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x1000a4ce
mov eax, dword [ecx]
call dword [eax + 0x1c]
cmp eax, 0xffffffff
je 0x1000a4d9
mov byte [esi + 4], 0
jmp 0x1000a4e3
mov dword [esi], 0
mov byte [esi + 4], 1
mov ebx, dword [esp + 0x30]
test ebx, ebx
jne 0x1000a5cb
push dword [esp + 0x14]
push esi
call fcn.1000ac10
add esp, 8
test al, al
jne 0x1000a5ba
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
nop dword [eax]
cmp byte [esi + 4], 0
jne 0x1000a54b
mov ecx, dword [esi]
test ecx, ecx
je 0x1000a541
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x1000a532
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x1000a532
movzx eax, byte [edx]
jmp 0x1000a537
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, 0xffffffff
je 0x1000a541
mov byte [esi + 5], al
jmp 0x1000a547
mov dword [esi], 0
mov byte [esi + 4], 1
mov al, byte [esi + 5]
cmp al, byte [esp + 0x7c]
jne 0x1000a5ae
mov ecx, dword [esi]
dec edi
mov byte [esp + 0x13], 1
test ecx, ecx
je 0x1000a591
mov eax, dword [ecx + 0x1c]
cmp dword [eax], 0
je 0x1000a583
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x1000a583
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x1000a588
mov eax, dword [ecx]
call dword [eax + 0x1c]
cmp eax, 0xffffffff
je 0x1000a591
xor al, al
jmp 0x1000a599
mov dword [esi], 0
mov al, 1
push ebx
push esi
mov byte [esi + 4], al
call fcn.1000ac10
add esp, 8
test al, al
je 0x1000a510
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
test eax, eax
jns 0x1000a5cb
mov byte [edi], 0x30
inc edi
inc eax
mov dword [esp + 0x1c], eax
push dword [esp + 0x14]
push esi
call fcn.1000ac10
add esp, 8
test al, al
jne 0x1000a6b7
cmp byte [esi + 4], 0
jne 0x1000a61b
mov ecx, dword [esi]
test ecx, ecx
je 0x1000a611
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x1000a602
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x1000a602
movzx eax, byte [edx]
jmp 0x1000a607
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, 0xffffffff
je 0x1000a611
mov byte [esi + 5], al
jmp 0x1000a617
mov dword [esi], 0
mov byte [esi + 4], 1
movzx eax, byte [esi + 5]
push 0x1c
push eax
lea eax, [esp + 0x84]
push eax
call fcn.100234d0
add esp, 0xc
lea ecx, [esp + 0x98]
test eax, eax
cmovne ecx, eax
lea eax, [esp + 0x7c]
sub ecx, eax
cmp ecx, 0x16
jae 0x1000a6b7
cmp ebx, dword [esp + 0x3c]
jge 0x1000a659
mov al, byte [ecx + str.0123456789ABCDEFabcdef_XxPp]
mov byte [edi], al
inc edi
inc ebx
mov ecx, dword [esi]
mov byte [esp + 0x13], 1
test ecx, ecx
je 0x1000a695
mov eax, dword [ecx + 0x1c]
cmp dword [eax], 0
je 0x1000a687
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x1000a687
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x1000a68c
mov eax, dword [ecx]
call dword [eax + 0x1c]
cmp eax, 0xffffffff
je 0x1000a695
xor al, al
jmp 0x1000a69d
mov dword [esi], 0
mov al, 1
push dword [esp + 0x14]
mov byte [esi + 4], al
push esi
call fcn.1000ac10
add esp, 8
test al, al
je 0x1000a5e0
jmp 0x1000a6c3
mov al, byte [esp + 0x13]
test al, al
je 0x1000aa88
push dword [esp + 0x14]
push esi
call fcn.1000ac10
add esp, 8
test al, al
jne 0x1000aa84
mov cl, byte [esi + 4]
test cl, cl
jne 0x1000a716
mov ecx, dword [esi]
test ecx, ecx
je 0x1000a70a
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x1000a6fb
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x1000a6fb
movzx eax, byte [edx]
jmp 0x1000a700
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, 0xffffffff
je 0x1000a70a
mov byte [esi + 5], al
jmp 0x1000a710
mov dword [esi], 0
mov byte [esi + 4], 1
mov cl, 1
mov al, byte [esi + 5]
cmp al, byte [esp + 0x97]
je 0x1000a76b
test cl, cl
jne 0x1000a75e
mov ecx, dword [esi]
test ecx, ecx
je 0x1000a751
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x1000a742
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x1000a742
movzx eax, byte [edx]
jmp 0x1000a747
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, 0xffffffff
je 0x1000a751
mov byte [esi + 5], al
jmp 0x1000a75a
mov al, byte [esi + 5]
mov dword [esi], 0
mov byte [esi + 4], 1
cmp al, byte [esp + 0x96]
jne 0x1000aa84
mov byte [edi], 0x70
inc edi
mov ecx, dword [esi]
test ecx, ecx
je 0x1000a7a6
mov eax, dword [ecx + 0x1c]
cmp dword [eax], 0
je 0x1000a798
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x1000a798
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x1000a79d
mov eax, dword [ecx]
call dword [eax + 0x1c]
cmp eax, 0xffffffff
je 0x1000a7a6
xor al, al
jmp 0x1000a7ae
mov dword [esi], 0
mov al, 1
push dword [esp + 0x14]
mov byte [esi + 4], al
xor ebx, ebx
push esi
mov byte [esp + 0x1b], 0
call fcn.1000ac10
add esp, 8
test al, al
jne 0x1000a8df
mov cl, byte [esi + 4]
test cl, cl
jne 0x1000a806
mov ecx, dword [esi]
test ecx, ecx
je 0x1000a7fe
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x1000a7ef
mov eax, dword [ecx + 0x2c]
cmp dword [eax], ebx
jle 0x1000a7ef
movzx eax, byte [edx]
jmp 0x1000a7f4
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, 0xffffffff
je 0x1000a7fe
mov byte [esi + 5], al
jmp 0x1000a800
mov dword [esi], ebx
mov byte [esi + 4], 1
mov cl, 1
mov al, byte [esi + 5]
cmp al, byte [esp + 0x93]
jne 0x1000a85e
mov byte [edi], 0x2b
inc edi
mov ecx, dword [esi]
test ecx, ecx
je 0x1000a852
mov eax, dword [ecx + 0x1c]
cmp dword [eax], ebx
je 0x1000a83e
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x1000a83e
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x1000a843
mov eax, dword [ecx]
call dword [eax + 0x1c]
cmp eax, 0xffffffff
je 0x1000a852
xor al, al
mov byte [esi + 4], al
jmp 0x1000a8df
mov al, 1
mov dword [esi], ebx
mov byte [esi + 4], al
jmp 0x1000a8df
test cl, cl
jne 0x1000a895
mov ecx, dword [esi]
test ecx, ecx
je 0x1000a88c
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x1000a87d
mov eax, dword [ecx + 0x2c]
cmp dword [eax], ebx
jle 0x1000a87d
movzx eax, byte [edx]
jmp 0x1000a882
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, 0xffffffff
je 0x1000a88c
mov byte [esi + 5], al
jmp 0x1000a891
mov al, byte [esi + 5]
mov dword [esi], ebx
mov byte [esi + 4], 1
cmp al, byte [esp + 0x92]
jne 0x1000a8df
mov byte [edi], 0x2d
inc edi
mov ecx, dword [esi]
test ecx, ecx
je 0x1000a8d9
mov eax, dword [ecx + 0x1c]
cmp dword [eax], ebx
je 0x1000a8ca
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x1000a8ca
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x1000a8cf
mov eax, dword [ecx]
call dword [eax + 0x1c]
cmp eax, 0xffffffff
je 0x1000a8d9
mov byte [esi + 4], bl
jmp 0x1000a8df
mov dword [esi], ebx
mov byte [esi + 4], 1
push dword [esp + 0x14]
push esi
call fcn.1000ac10
add esp, 8
test al, al
jne 0x1000a995
cmp byte [esi + 4], bl
jne 0x1000a929
mov ecx, dword [esi]
test ecx, ecx
je 0x1000a923
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x1000a914
mov eax, dword [ecx + 0x2c]
cmp dword [eax], ebx
jle 0x1000a914
movzx eax, byte [edx]
jmp 0x1000a919
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, 0xffffffff
je 0x1000a923
mov byte [esi + 5], al
jmp 0x1000a925
mov dword [esi], ebx
mov byte [esi + 4], 1
mov al, byte [esi + 5]
cmp al, byte [esp + 0x7c]
jne 0x1000a98b
mov ecx, dword [esi]
mov byte [esp + 0x13], 1
test ecx, ecx
je 0x1000a96d
mov eax, dword [ecx + 0x1c]
cmp dword [eax], ebx
je 0x1000a95f
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x1000a95f
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x1000a964
mov eax, dword [ecx]
call dword [eax + 0x1c]
cmp eax, 0xffffffff
je 0x1000a96d
xor al, al
jmp 0x1000a971
mov dword [esi], ebx
mov al, 1
push dword [esp + 0x14]
mov byte [esi + 4], al
push esi
call fcn.1000ac10
add esp, 8
test al, al
je 0x1000a8f4
jmp 0x1000a991
cmp byte [esp + 0x13], bl
je 0x1000a995
mov byte [edi], 0x30
inc edi
push dword [esp + 0x14]
push esi
call fcn.1000ac10
add esp, 8
test al, al
jne 0x1000aa84
nop word [eax + eax]
cmp byte [esi + 4], 0
jne 0x1000a9eb
mov ecx, dword [esi]
test ecx, ecx
je 0x1000a9e1
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x1000a9d2
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x1000a9d2
movzx eax, byte [edx]
jmp 0x1000a9d7
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, 0xffffffff
je 0x1000a9e1
mov byte [esi + 5], al
jmp 0x1000a9e7
mov dword [esi], 0
mov byte [esi + 4], 1
movzx eax, byte [esi + 5]
push 0x1c
push eax
lea eax, [esp + 0x84]
push eax
call fcn.100234d0
add esp, 0xc
lea ecx, [esp + 0x98]
test eax, eax
cmovne ecx, eax
lea eax, [esp + 0x7c]
sub ecx, eax
cmp ecx, 0x16
jae 0x1000aa84
cmp ebx, 8
jge 0x1000aa28
mov al, byte [ecx + str.0123456789ABCDEFabcdef_XxPp]
mov byte [edi], al
inc edi
inc ebx
mov ecx, dword [esi]
mov byte [esp + 0x13], 1
test ecx, ecx
je 0x1000aa64
mov eax, dword [ecx + 0x1c]
cmp dword [eax], 0
je 0x1000aa56
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x1000aa56
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x1000aa5b
mov eax, dword [ecx]
call dword [eax + 0x1c]
cmp eax, 0xffffffff
je 0x1000aa64
xor al, al
jmp 0x1000aa6c
mov dword [esi], 0
mov al, 1
push dword [esp + 0x14]
mov byte [esi + 4], al
push esi
call fcn.1000ac10
add esp, 8
test al, al
je 0x1000a9b0
mov al, byte [esp + 0x13]
cmp byte [esp + 0x1a], 0
jne 0x1000aa93
test al, al
jne 0x1000aa97
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x1c]
mov byte [edi], 0
mov dword [ecx], eax
cmp edx, 0x10
jb 0x1000aad6
mov ecx, dword [esp + 0x64]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1000aacc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000aaed
push edx
push ecx
call fcn.10022487
add esp, 8
mov ecx, dword [esp + 0x9c]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1002225a
mov esp, ebp
pop ebp
ret
call fcn.1002b828
int3