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

Disassembly:
mov eax, 0xc4
call fcn.100b6740
mov eax, dword [0x102184e0]
xor eax, esp
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xdc]
push ebx
mov ebx, dword [esp + 0xd8]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xec]
push ebp
mov ebp, dword [esp + 0xec]
push esi
mov esi, dword [esp + 0xdc]
mov dword [esp + 0x60], eax
xor eax, eax
push edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0xfc]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x100]
mov edi, esi
lea eax, [esp + 0x78]
shr edi, 3
push eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x60], ebp
mov dword [esp + 0x70], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x34], 0xffffffff
mov dword [esp + 0x74], edi
mov dword [esp + 0x24], 2
call fcn.10110e60
add esp, 4
test ebx, ebx
jne 0x10182204
cmp esi, 0xa0
jne 0x101821e4
call fcn.101114a0
mov ebx, eax
mov dword [esp + 0x24], ebx
jmp 0x10182204
cmp esi, 0xe0
jne 0x101821f9
call fcn.10111500
mov ebx, eax
mov dword [esp + 0x24], ebx
jmp 0x10182204
call fcn.10111510
mov ebx, eax
mov dword [esp + 0x24], eax
push ebx
call fcn.101202c0
mov ecx, dword [esp + 0x3c]
add esp, 4
cmp dword [ecx + 0xc], 0
mov dword [esp + 0x40], eax
je 0x1018222b
cmp dword [ecx + 0x10], 0
je 0x1018222b
cmp dword [esp + 0xf0], 0
jl 0x1018229d
mov esi, dword [esp + 0x14]
test esi, esi
jne 0x10182239
mov esi, eax
mov dword [esp + 0x14], esi
push 0x1bb
push 0x101f69d0
push esi
call fcn.101086d0
add esp, 0xc
mov ebx, eax
mov dword [esp + 0x10], ebx
test ebp, ebp
je 0x1018225c
mov dword [esp + 0x28], ebp
jmp 0x10182273
push 0x1c0
push 0x101f69d0
push esi
call fcn.101086d0
add esp, 0xc
mov dword [esp + 0x28], eax
test ebx, ebx
je 0x101829ed
cmp dword [esp + 0x28], 0
je 0x101829dc
mov eax, dword [esp + 0x58]
test eax, eax
je 0x1018229d
mov ecx, dword [esp + 0x10]
push esi
push eax
push ecx
call fcn.100b4ba0
add esp, 0xc
call fcn.10126ae0
mov dword [esp + 0x18], eax
test eax, eax
je 0x101829dc
call fcn.1016aeb0
mov dword [esp + 0x34], eax
test eax, eax
je 0x101829dc
mov esi, dword [esp + 0x18]
push esi
call fcn.10126b70
push esi
call fcn.10126c00
mov ebp, eax
push esi
mov dword [esp + 0x50], ebp
call fcn.10126c00
push esi
mov dword [esp + 0x58], eax
call fcn.10126c00
push esi
mov dword [esp + 0x64], eax
call fcn.10126c00
push esi
mov dword [esp + 0x80], eax
call fcn.10126c00
push esi
mov dword [esp + 0x7c], eax
call fcn.10126c00
mov edx, dword [esp + 0x54]
mov ebx, eax
mov eax, dword [edx + 0xc]
add esp, 0x1c
mov dword [esp + 0x4c], ebx
test eax, eax
je 0x10182354
mov ecx, edx
mov ecx, dword [ecx + 0x10]
test ecx, ecx
je 0x10182354
mov ebx, dword [esp + 0xf0]
mov esi, eax
mov dword [esp + 0x2c], ecx
test ebx, ebx
js 0x10182730
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
push edx
push eax
push ecx
call fcn.100b4ba0
add esp, 0xc
jmp 0x10182730
push esi
call fcn.10126c00
push esi
mov dword [esp + 0x7c], eax
call fcn.10126c00
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xe4]
dec eax
add esp, 8
push eax
call fcn.1010d6b0
push eax
push ebx
call fcn.10153000
add esp, 0xc
test eax, eax
je 0x101829dc
jmp 0x10182390
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
push edx
push 0
push eax
call fcn.101865e0
inc dword [esp + 0x60]
add esp, 0xc
test eax, eax
je 0x101829dc
test ebp, ebp
jne 0x101823d6
mov ecx, dword [esp + 0x10]
push esi
push ecx
call fcn.10103030
add esp, 8
test eax, eax
js 0x101829dc
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
push 0
push edx
push 0
lea eax, [esp + 0x9c]
push eax
push esi
push ecx
call fcn.10111360
add esp, 0x18
test eax, eax
je 0x101829dc
cmp ebx, edi
jle 0x1018240e
mov edx, ebx
sub edx, edi
lea esi, [esp + edx + 0x90]
jmp 0x10182415
lea esi, [esp + 0x90]
cmp ebx, edi
jge 0x10182430
mov eax, edi
sub eax, ebx
push eax
lea ecx, [esp + ebx + 0x94]
push 0
push ecx
call fcn.100b52f0
add esp, 0xc
mov edx, dword [esp + 0x2c]
or byte [esi], 0x80
or byte [esi + edi - 1], 1
push edx
push edi
push esi
call fcn.1010daa0
add esp, 0xc
test eax, eax
je 0x101829dc
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x2c]
xor eax, eax
test ebp, ebp
setne al
push esi
push eax
push ecx
push 0x32
push edx
call fcn.10186a40
add esp, 0x14
test eax, eax
jg 0x101824a7
jne 0x101829dc
test ebp, ebp
je 0x10182398
push 0x20d
push 0x101f69d0
push 0x71
push 0x7e
push 0xa
mov dword [esp + 0x44], 0
call fcn.10102a30
add esp, 0x14
jmp 0x101829dc
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x101824c2
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
push eax
call fcn.100b4ba0
add esp, 0xc
push 0
push 2
push esi
call fcn.101865e0
add esp, 0xc
test eax, eax
je 0x101829dc
push 0
mov eax, esi
push 3
push eax
call fcn.101865e0
add esp, 0xc
test eax, eax
je 0x101829dc
mov eax, dword [esp + 0xdc]
lea esi, [ebx*8]
xor ecx, ecx
dec eax
xor edx, edx
div esi
mov dword [esp + 0x3c], ecx
mov ebx, eax
lea esp, [esp]
test ecx, ecx
je 0x1018252c
push ecx
mov ecx, dword [esp + 0x20]
push 0
push ecx
call fcn.101865e0
add esp, 0xc
test eax, eax
je 0x101829dc
mov edx, dword [esp + 0x50]
push 0
push edx
call fcn.1010da40
add esp, 8
xor esi, esi
test ebx, ebx
js 0x101825fc
mov ebp, dword [esp + 0x14]
xor edi, edi
jmp 0x10182550
lea eax, [ebp - 1]
test eax, eax
js 0x10182568
mov ecx, dword [esp + 0x10]
jmp 0x10182560
inc byte [eax + ecx]
jne 0x10182568
dec eax
jns 0x10182560
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
push 0
push eax
mov eax, dword [esp + 0x18]
push 0
lea ecx, [esp + 0x9c]
push ecx
push edx
push eax
call fcn.10111360
add esp, 0x18
test eax, eax
je 0x101829dc
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
push ecx
push edx
lea eax, [esp + 0x98]
push eax
call fcn.1010daa0
add esp, 0xc
test eax, eax
je 0x101829dc
mov eax, dword [esp + 0x44]
push edi
push eax
push eax
call fcn.10153000
add esp, 0xc
test eax, eax
je 0x101829dc
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x50]
push ecx
push eax
push eax
call fcn.101502e0
add esp, 0xc
test eax, eax
je 0x101829dc
mov eax, dword [esp + 0x40]
add eax, eax
add eax, eax
add eax, eax
inc esi
add edi, eax
cmp esi, ebx
jle 0x10182550
mov eax, dword [esp + 0xdc]
mov esi, dword [esp + 0x50]
dec eax
push eax
push esi
call fcn.1010ddb0
add esp, 8
test eax, eax
je 0x101829dc
push esi
mov esi, dword [esp + 0x6c]
push esi
call fcn.1010d980
add esp, 8
test eax, eax
je 0x101829dc
mov edx, dword [esp + 0x4c]
push edx
push esi
push esi
call fcn.101502e0
add esp, 0xc
test eax, eax
je 0x101829dc
mov eax, dword [esp + 0x2c]
mov ebp, dword [esp + 0x44]
push eax
push ebp
call fcn.10152eb0
add esp, 8
test eax, eax
je 0x101829dc
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x60]
push ecx
push ebp
push esi
push edi
push 0
call fcn.1017c980
add esp, 0x14
test eax, eax
je 0x101829dc
call fcn.1010d6b0
push eax
push edi
push ebp
call fcn.10150210
add esp, 0xc
test eax, eax
je 0x101829dc
push ebp
push esi
mov esi, dword [esp + 0x7c]
push esi
call fcn.10150210
add esp, 0xc
test eax, eax
je 0x101829dc
mov edx, dword [esp + 0x4c]
push edx
push esi
call fcn.1010dc50
add esp, 8
test eax, eax
js 0x101826e1
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push edi
push 1
push eax
push 0x32
push esi
call fcn.10186a40
add esp, 0x14
test eax, eax
jg 0x10182714
jne 0x101829dc
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xdc]
inc ecx
lea eax, [edx*4]
mov dword [esp + 0x3c], ecx
cmp ecx, eax
jl 0x10182510
cmp dword [esp + 0x58], 0
jne 0x1018299e
mov edi, dword [esp + 0x70]
jmp 0x10182390
push 1
push 2
push edi
call fcn.101865e0
add esp, 0xc
test eax, eax
je 0x101829dc
mov ebx, dword [esp + 0xf0]
call fcn.1010d6b0
mov edi, dword [esp + 0x4c]
push eax
push esi
push edi
call fcn.10150210
add esp, 0xc
test eax, eax
je 0x101829dc
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x2c]
push ecx
push edx
push edi
push 0
push ebp
call fcn.1017c980
add esp, 0x14
test eax, eax
je 0x101829dc
test ebx, ebx
jns 0x10182783
push 2
push edi
call fcn.1010da40
add esp, 8
test eax, eax
je 0x101829dc
jmp 0x1018278b
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x34]
push eax
push esi
push ecx
call fcn.1016ac10
add esp, 0xc
test eax, eax
je 0x101829dc
test ebx, ebx
js 0x1018288b
mov eax, dword [esp + 0x20]
mov edx, eax
mov byte [esp + 0x92], al
mov eax, dword [esp + 0x24]
push 0
push eax
lea ecx, [esp + 0x80]
shr edx, 8
push ecx
mov byte [esp + 0x9c], bl
mov byte [esp + 0x9d], dl
call fcn.10110eb0
add esp, 0xc
test eax, eax
je 0x101829dc
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
push edx
push eax
lea ecx, [esp + 0x80]
push ecx
call fcn.10111060
add esp, 0xc
test eax, eax
je 0x101829dc
push 4
lea edx, [esp + 0x7c]
push str.ggen.cryptodsadsa_gen.c
push edx
call fcn.10111060
add esp, 0xc
test eax, eax
je 0x101829dc
push 3
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0x80]
push ecx
call fcn.10111060
add esp, 0xc
test eax, eax
je 0x101829dc
push 0
lea edx, [esp + 0x94]
push edx
lea eax, [esp + 0x80]
push eax
call fcn.10111070
add esp, 0xc
test eax, eax
je 0x101829dc
mov ecx, dword [esp + 0x40]
push edi
push ecx
lea edx, [esp + 0x98]
push edx
call fcn.1010daa0
add esp, 0xc
test eax, eax
je 0x101829dc
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x48]
push eax
push ecx
push esi
push ebp
push edi
push edx
call fcn.1016bfe0
add esp, 0x18
test eax, eax
je 0x101829dc
mov eax, dword [esp + 0x48]
cmp dword [eax + 4], 1
jne 0x101828fb
mov ecx, dword [eax]
cmp dword [ecx], 1
jne 0x101828fb
cmp dword [eax + 0xc], 0
jne 0x101828fb
test ebx, ebx
jns 0x101828e0
call fcn.1010d6b0
push eax
push edi
push edi
call fcn.101502e0
add esp, 0xc
test eax, eax
je 0x101829dc
inc dword [esp + 0x20]
test ebx, ebx
js 0x1018288b
cmp dword [esp + 0x20], 0xffff
jbe 0x101827a6
jmp 0x101829dc
mov edx, dword [esp + 0x1c]
push 1
push 3
push edx
call fcn.101865e0
add esp, 0xc
test eax, eax
je 0x101829dc
mov edi, dword [esp + 0x38]
mov eax, dword [edi + 0xc]
mov dword [esp + 0x30], 1
cmp esi, eax
je 0x10182940
test eax, eax
je 0x10182934
push eax
call fcn.1010d7a0
add esp, 4
push esi
call fcn.1010e0d0
add esp, 4
mov dword [edi + 0xc], eax
mov eax, dword [edi + 0x10]
mov esi, dword [esp + 0x2c]
cmp esi, eax
je 0x10182964
test eax, eax
je 0x10182958
push eax
call fcn.1010d7a0
add esp, 4
push esi
call fcn.1010e0d0
add esp, 4
mov dword [edi + 0x10], eax
mov eax, dword [edi + 0x14]
test eax, eax
je 0x10182974
push eax
call fcn.1010d7a0
add esp, 4
mov eax, dword [esp + 0x48]
push eax
call fcn.1010e0d0
add esp, 4
cmp dword [edi + 0xc], 0
mov dword [edi + 0x14], eax
je 0x10182994
cmp dword [edi + 0x10], 0
je 0x10182994
test eax, eax
jne 0x101829c0
mov dword [esp + 0x30], 0xffffffff
jmp 0x101829dc
push 0x266
push 0x101f69d0
push 0x70
push 0x7e
push 0xa
mov dword [esp + 0x44], 0
call fcn.10102a30
add esp, 0x14
jmp 0x101829dc
mov eax, dword [esp + 0x64]
test eax, eax
je 0x101829ce
mov ecx, dword [esp + 0x3c]
mov dword [eax], ecx
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x101829dc
mov edx, dword [esp + 0x20]
mov dword [eax], edx
mov eax, dword [esp + 0x10]
test eax, eax
je 0x101829ed
push eax
call fcn.101088e0
add esp, 4
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x5c], eax
je 0x10182a00
push eax
call fcn.101088e0
add esp, 4
mov esi, dword [esp + 0x18]
test esi, esi
je 0x10182a17
push esi
call fcn.10126bc0
push esi
call fcn.10126b40
add esp, 8
mov eax, dword [esp + 0x34]
pop edi
pop esi
pop ebp
pop ebx
test eax, eax
je 0x10182a2c
push eax
call fcn.1016abd0
add esp, 4
lea eax, [esp + 0x68]
push eax
call fcn.101110f0
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0x24]
add esp, 4
xor ecx, esp
call fcn.100b197c
add esp, 0xc4
ret