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

Disassembly:
mov eax, 0x60
call fcn.1001d6a0
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x7c]
xor ebx, ebx
cmp edi, ebx
mov dword [esp + 0x10], ebx
je 0x10023849
cmp dword [edi + 0x10], ebx
je 0x10023849
cmp dword [esp + 0x80], ebx
jne 0x100235db
mov dword [esp + 0x7c], edi
mov esi, dword [edi + 8]
cmp esi, ebx
jne 0x100234b3
mov eax, dword [0x10096f70]
cmp eax, ebx
je 0x1002347c
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], ebx
push ecx
push eax
mov dword [esp + 0x28], edi
call fcn.10020550
add esp, 8
cmp eax, ebx
je 0x1002347c
mov edx, dword [eax + 4]
mov esi, dword [edx + 8]
jmp 0x100234ab
push ebx
push 0x100238e0
push 4
push 0x326
lea eax, [esp + 0x8c]
push 0x10094898
push eax
call fcn.10023940
add esp, 0x18
cmp eax, ebx
je 0x100235db
mov ecx, dword [eax]
mov esi, dword [ecx + 8]
cmp esi, ebx
je 0x100235db
test esi, esi
mov ebx, 3
jl 0x1002350f
cmp esi, 0x35b
jge 0x1002350f
lea eax, [esi + esi*2]
shl eax, 3
mov ecx, dword [eax + 0x1008dd78]
test ecx, ecx
jne 0x100234db
push 0x15b
jmp 0x10023547
mov edi, dword [eax + 0x1008dd74]
test edi, edi
jne 0x100235b0
test esi, esi
jl 0x10023564
cmp esi, 0x35b
jge 0x10023564
lea eax, [esi + esi*2]
shl eax, 3
mov ecx, dword [eax + 0x1008dd78]
test ecx, ecx
jne 0x1002355c
push 0x13b
jmp 0x1002359b
mov eax, dword [0x10096f70]
test eax, eax
je 0x100234e9
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x24]
push ecx
push eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], edx
mov dword [esp + 0x34], esi
call fcn.10020550
add esp, 8
test eax, eax
je 0x10023542
mov edx, dword [eax + 4]
mov edi, dword [edx + 4]
jmp 0x100234e1
push 0x16c
push str..cryptoobjectsobj_dat.c
push 0x65
push 0x66
push 8
call fcn.1001e430
add esp, 0x14
jmp 0x100234e9
mov edi, dword [eax + 0x1008dd70]
jmp 0x100235b0
mov eax, dword [0x10096f70]
test eax, eax
je 0x100235ae
lea edx, [esp + 0x14]
lea ecx, [esp + 0x3c]
push edx
push eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x4c], esi
call fcn.10020550
add esp, 8
test eax, eax
je 0x10023596
mov eax, dword [eax + 4]
mov edi, dword [eax]
jmp 0x100235b0
push 0x14c
push str..cryptoobjectsobj_dat.c
push 0x65
push 0x68
push 8
call fcn.1001e430
add esp, 0x14
xor edi, edi
mov eax, dword [esp + 0x74]
test eax, eax
je 0x100235c7
mov ecx, dword [esp + 0x78]
push ecx
push edi
push eax
call fcn.10026da0
add esp, 0xc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
pop edi
dec ecx
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x60
ret
mov eax, dword [edi + 0xc]
mov edx, dword [edi + 0x10]
xor edi, edi
cmp eax, ebx
mov dword [esp + 0x80], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], 1
mov dword [esp + 0x7c], edi
jle 0x10023825
mov ebp, dword [esp + 0x74]
jmp 0x1002360c
mov edi, dword [esp + 0x7c]
xor esi, esi
xor ecx, ecx
mov dword [esp + 0x74], ecx
mov eax, dword [esp + 0x14]
mov bl, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x80]
dec eax
mov dword [esp + 0x80], eax
jne 0x10023639
test bl, 0x80
jne 0x10023831
test ecx, ecx
je 0x1002365a
mov al, bl
and eax, 0x7f
push eax
push edi
call fcn.100360f0
add esp, 8
test eax, eax
je 0x10023831
mov ecx, dword [esp + 0x74]
jmp 0x10023661
mov dl, bl
and edx, 0x7f
or esi, edx
test bl, 0x80
je 0x100236c8
test ecx, ecx
jne 0x100236a3
cmp esi, 0x1ffffff
jbe 0x100236c0
test edi, edi
jne 0x10023689
call fcn.10029f90
test eax, eax
mov dword [esp + 0x7c], eax
je 0x1002383e
mov edi, eax
push esi
push edi
call fcn.1002a2d0
add esp, 8
test eax, eax
je 0x10023831
mov dword [esp + 0x74], 1
push 7
push edi
push edi
call fcn.10036460
add esp, 0xc
test eax, eax
je 0x10023831
mov ecx, dword [esp + 0x74]
jmp 0x10023614
shl esi, 7
jmp 0x10023614
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x10023738
cmp esi, 0x50
mov dword [esp + 0x1c], 0
jb 0x10023704
test ecx, ecx
mov ebx, 2
je 0x100236ff
push 0x50
push edi
call fcn.100361b0
add esp, 8
test eax, eax
je 0x10023831
mov ecx, dword [esp + 0x74]
jmp 0x1002371c
sub esi, 0x50
jmp 0x1002371c
mov eax, 0xcccccccd
mul esi
mov ebx, edx
shr ebx, 5
mov eax, ebx
neg eax
shl eax, 2
sub eax, ebx
lea esi, [esi + eax*8]
test ebp, ebp
je 0x10023734
mov eax, dword [esp + 0x78]
test eax, eax
jle 0x10023734
add bl, 0x30
mov byte [ebp], bl
inc ebp
dec eax
mov dword [esp + 0x78], eax
inc dword [esp + 0x10]
test ecx, ecx
je 0x100237a9
push edi
call fcn.10035b90
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x10023831
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
test ebp, ebp
mov esi, ecx
je 0x10023792
mov edi, dword [esp + 0x78]
test edi, edi
jle 0x1002376f
mov byte [ebp], 0x2e
inc ebp
dec edi
push edi
push ebx
push ebp
call fcn.10026da0
add esp, 0xc
cmp esi, edi
jle 0x1002378a
add ebp, edi
mov dword [esp + 0x78], 0
jmp 0x10023792
add ebp, esi
sub edi, esi
mov dword [esp + 0x78], edi
mov ecx, dword [esp + 0x10]
push ebx
lea edx, [ecx + esi + 1]
mov dword [esp + 0x14], edx
call main
add esp, 4
jmp 0x10023805
push esi
push str.._lu
lea eax, [esp + 0x5c]
push 0x1a
push eax
call fcn.10027f90
lea edi, [esp + 0x64]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
dec ecx
test ebp, ebp
mov esi, ecx
je 0x10023801
mov edi, dword [esp + 0x78]
test edi, edi
jle 0x10023801
lea ecx, [esp + 0x54]
push edi
push ecx
push ebp
call fcn.10026da0
add esp, 0xc
cmp esi, edi
jle 0x100237f9
add ebp, edi
mov dword [esp + 0x78], 0
jmp 0x10023801
add ebp, esi
sub edi, esi
mov dword [esp + 0x78], edi
add dword [esp + 0x10], esi
mov eax, dword [esp + 0x80]
test eax, eax
jg 0x10023608
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x10023825
push eax
call fcn.10029f30
add esp, 4
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
test edi, edi
je 0x1002383e
push edi
call fcn.10029f30
add esp, 4
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x60
ret
mov edx, dword [esp + 0x74]
pop edi
pop esi
pop ebp
mov byte [edx], 0
xor eax, eax
pop ebx
add esp, 0x60
ret