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

Disassembly:
push 0xffffffffffffffff
push 0x100e9d80
mov eax, dword fs:[0]
push eax
sub esp, 0x50
mov eax, dword [0x10144930]
xor eax, esp
mov dword [esp + 0x4c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10144930]
xor eax, esp
push eax
lea eax, [esp + 0x64]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x7c]
mov ebx, ecx
push eax
mov dword [esp + 0x28], ebx
mov esi, edx
call fcn.100140d0
add esp, 4
lea ecx, [esp + 0x44]
mov edi, eax
push ecx
mov ecx, edi
call fcn.10013da0
mov dword [esp + 0x6c], 0
cmp dword [esp + 0x58], 0
jne 0x100127a7
mov byte [esp + 0x16], 0
jmp 0x100127b4
mov edx, dword [edi]
mov eax, dword [edx + 8]
mov ecx, edi
call eax
mov byte [esp + 0x16], al
mov edi, dword [esp + 0x20]
mov dword [esp + 0x1c], ebx
call fcn.10014530
test al, al
jne 0x10012826
cmp byte [esi + 8], al
jne 0x10012804
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x100127f9
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x100127e8
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x100127e8
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x100127ef
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp eax, 0xffffffff
je 0x100127f9
mov byte [esi + 9], al
jmp 0x10012800
mov dword [esi + 4], 0
mov byte [esi + 8], 1
mov al, byte [esi + 9]
cmp al, 0x2b
jne 0x1001280f
mov byte [ebx], al
jmp 0x1001281a
call fcn.10013d00
cmp al, 0x2d
jne 0x10012826
mov byte [ebx], al
add ebx, 1
mov dword [esp + 0x1c], ebx
call fcn.10013d50
and ebp, 0xe00
cmp ebp, 0x400
jne 0x1001283b
mov ebp, 8
jmp 0x10012851
cmp ebp, 0x800
jne 0x1001284a
mov ebp, 0x10
jmp 0x10012851
neg ebp
sbb ebp, ebp
and ebp, 0xa
mov dword [esp + 0x18], ebp
mov byte [esp + 0x15], 0
mov byte [esp + 0x17], 0
call fcn.10014530
test al, al
jne 0x10012901
cmp byte [esi + 8], al
jne 0x100128ab
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x100128a0
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x1001288f
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x1001288f
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x10012896
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp eax, 0xffffffff
je 0x100128a0
mov byte [esi + 9], al
jmp 0x100128a7
mov dword [esi + 4], 0
mov byte [esi + 8], 1
cmp byte [esi + 9], 0x30
jne 0x10012901
mov byte [esp + 0x15], 1
call fcn.10013d50
call fcn.10014530
test al, al
jne 0x100128f3
call fcn.10013d00
cmp al, 0x78
je 0x100128d6
call fcn.10013d00
cmp al, 0x58
jne 0x100128f3
test ebp, ebp
je 0x100128df
cmp ebp, 0x10
jne 0x100128f3
mov dword [esp + 0x18], 0x10
mov byte [esp + 0x15], 0
call fcn.10013d50
jmp 0x1001290a
test ebp, ebp
jne 0x10012905
mov dword [esp + 0x18], 8
jmp 0x1001290a
test ebp, ebp
je 0x1001291d
cmp ebp, 0xa
je 0x1001291d
mov ebx, dword [esp + 0x18]
sub ebx, 8
neg ebx
sbb ebx, ebx
and ebx, 0xe
add ebx, 8
jmp 0x10012922
mov ebx, 0xa
mov al, byte [esp + 0x15]
xor ebp, ebp
mov dword [esp + 0x3c], ebp
mov byte [esp + 0x2c], 0
mov dword [esp + 0x40], 0xf
mov byte [esp + 0x2c], al
mov dword [esp + 0x3c], 1
mov byte [esp + 0x2d], 0
mov byte [esp + 0x6c], 1
mov edi, dword [esp + 0x20]
call fcn.10014530
test al, al
jne 0x10012b3a
cmp byte [esi + 8], 0
jne 0x100129a0
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x10012995
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x10012984
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x10012984
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x1001298b
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp eax, 0xffffffff
je 0x10012995
mov byte [esi + 9], al
jmp 0x1001299c
mov dword [esi + 4], 0
mov byte [esi + 8], 1
mov al, byte [esi + 9]
mov edi, dword [esp + 0x1c]
mov byte [edi], al
movsx eax, al
push ebx
push eax
push str.0123456789abcdefABCDEF
call fcn.100c6530
add esp, 0xc
test eax, eax
je 0x10012a31
cmp byte [esp + 0x17], 0
jne 0x100129cb
cmp byte [edi], 0x30
je 0x100129e2
mov eax, dword [esp + 0x24]
add eax, 0x1f
cmp edi, eax
jae 0x100129e2
add edi, 1
mov dword [esp + 0x1c], edi
mov byte [esp + 0x17], 1
cmp ebp, dword [esp + 0x3c]
mov byte [esp + 0x15], 1
jbe 0x100129f2
call fcn.100c6456
mov eax, dword [esp + 0x2c]
mov edi, 0x10
cmp dword [esp + 0x40], edi
jae 0x10012a05
lea eax, [esp + 0x2c]
cmp byte [eax + ebp], 0x7f
je 0x10012ab5
cmp ebp, dword [esp + 0x3c]
jbe 0x10012a1a
call fcn.100c6456
cmp dword [esp + 0x40], edi
mov eax, dword [esp + 0x2c]
jae 0x10012a28
lea eax, [esp + 0x2c]
add byte [eax + ebp], 1
jmp 0x10012ab5
cmp ebp, dword [esp + 0x3c]
jbe 0x10012a3c
call fcn.100c6456
cmp dword [esp + 0x40], 0x10
mov eax, dword [esp + 0x2c]
jae 0x10012a4b
lea eax, [esp + 0x2c]
cmp byte [eax + ebp], 0
je 0x10012b0c
cmp byte [esp + 0x16], 0
je 0x10012b0c
cmp byte [esi + 8], 0
jne 0x10012aa0
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x10012a95
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x10012a84
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x10012a84
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x10012a8b
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp eax, 0xffffffff
je 0x10012a95
mov byte [esi + 9], al
jmp 0x10012a9c
mov dword [esi + 4], 0
mov byte [esi + 8], 1
mov al, byte [esp + 0x16]
cmp byte [esi + 9], al
jne 0x10012b0c
lea edi, [esp + 0x28]
call fcn.10013bc0
add ebp, 1
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x10012af0
mov edx, dword [ecx + 0x20]
cmp dword [edx], 0
je 0x10012ade
mov eax, dword [ecx + 0x30]
cmp dword [eax], 0
jle 0x10012ade
add dword [eax], 0xffffffff
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x10012ae5
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
cmp eax, 0xffffffff
je 0x10012af0
mov byte [esi + 8], 0
jmp 0x10012afb
mov dword [esi + 4], 0
mov byte [esi + 8], 1
mov edi, dword [esp + 0x20]
call fcn.10014530
test al, al
je 0x10012960
test ebp, ebp
je 0x10012b3a
cmp ebp, dword [esp + 0x3c]
jbe 0x10012b1b
call fcn.100c6456
cmp dword [esp + 0x40], 0x10
mov eax, dword [esp + 0x2c]
jae 0x10012b2a
lea eax, [esp + 0x2c]
cmp byte [eax + ebp], 0
jle 0x10012b35
add ebp, 1
jmp 0x10012b3a
mov byte [esp + 0x15], 0
mov esi, dword [esp + 0x48]
mov edi, 0x10
cmp dword [esp + 0x5c], edi
jae 0x10012b4d
lea esi, [esp + 0x48]
cmp byte [esp + 0x15], 0
je 0x10012bc4
test ebp, ebp
jbe 0x10012bb1
cmp byte [esi], 0x7f
je 0x10012bb1
sub ebp, 1
je 0x10012b82
cmp ebp, dword [esp + 0x3c]
jbe 0x10012b6d
call fcn.100c6456
cmp dword [esp + 0x40], edi
mov eax, dword [esp + 0x2c]
jae 0x10012b7b
lea eax, [esp + 0x2c]
mov cl, byte [esi]
cmp cl, byte [eax + ebp]
jne 0x10012bc4
test ebp, ebp
jne 0x10012ba6
cmp ebp, dword [esp + 0x3c]
jbe 0x10012b91
call fcn.100c6456
cmp dword [esp + 0x40], edi
mov eax, dword [esp + 0x2c]
jae 0x10012b9f
lea eax, [esp + 0x2c]
mov dl, byte [esi]
cmp dl, byte [eax + ebp]
jl 0x10012bc4
cmp byte [esi + 1], 0
jle 0x10012b54
add esi, 1
jmp 0x10012b54
cmp byte [esp + 0x17], 0
mov eax, dword [esp + 0x1c]
jne 0x10012bc8
mov byte [eax], 0x30
add eax, 1
jmp 0x10012bc8
mov eax, dword [esp + 0x24]
mov byte [eax], 0
mov byte [esp + 0x6c], 0
cmp dword [esp + 0x40], edi
jb 0x10012be3
mov eax, dword [esp + 0x2c]
push eax
call fcn.100b61c1
add esp, 4
xor ebx, ebx
mov esi, 0xf
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], bl
mov dword [esp + 0x6c], 0xffffffff
cmp dword [esp + 0x5c], edi
jb 0x10012c11
mov ecx, dword [esp + 0x48]
push ecx
call fcn.100b61c1
add esp, 4
mov eax, dword [esp + 0x18]
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], ebx
mov byte [esp + 0x48], 0
mov ecx, dword [esp + 0x64]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x4c]
xor ecx, esp
call fcn.100c59be
add esp, 0x5c
ret