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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x1005e892
push eax
mov dword fs:[0], esp
sub esp, 0x118
cmp byte [ebp + 0x18], 0
push ebx
push esi
push edi
je 0x1000c08c
cmp byte [ebp + 0x20], 0
je 0x1000c085
xor ebx, ebx
mov dword [esp + 0xac], 0xf
mov dword [esp + 0xa8], ebx
mov byte [esp + 0x98], bl
push 0x2bd
lea eax, [ebp + 0x14]
mov dword [esp + 0x130], ebx
push eax
push 0x56da
xor eax, eax
lea ecx, [esp + 0xa4]
inc eax
mov edx, 0x7d40
push eax
push 0x6cc0
push eax
push ecx
mov cl, al
call fcn.1000bd22
mov ecx, dword [0x100a9d08]
xor eax, eax
inc eax
add esp, 0x1c
test al, cl
jne 0x1000bfde
or ecx, eax
mov dword [0x100a9d08], ecx
push 0x1cd95
mov byte [esp + 0x130], al
call fcn.10035558
pop ecx
mov byte [esp + 0x12c], bl
mov ecx, dword [0x100a9d08]
mov byte [0x100a8976], al
test cl, 2
jne 0x1000c00b
or ecx, 2
mov dword [0x100a9d08], ecx
push 0x14323
mov byte [esp + 0x130], 2
call fcn.10035558
pop ecx
mov byte [0x100a896e], al
mov byte [esp + 0x12c], bl
mov esi, dword [ebp + 0x14]
xor edi, edi
inc edi
test esi, esi
je 0x1000c05b
push 0x34
pop ebx
call fcn.1000a71e
xor edx, edx
div ebx
lea eax, [esp + 0x6c]
push eax
push 0x5cdd
push 0x60e5
lea eax, [esp + 0xa4]
mov dword [esp + 0x78], edx
push eax
push edi
push 0x100a896e
push ecx
push ecx
mov edx, 0x100a8976
mov ecx, 0x3630
call fcn.1000be9c
add esp, 0x20
dec esi
jne 0x1000c018
xor ebx, ebx
mov ecx, dword [ebp + 0x1c]
lea eax, [esp + 0x98]
cmp ecx, eax
je 0x1000c072
push 0xffffffffffffffff
push ebx
push eax
call fcn.1000cade
push ebx
push edi
lea ecx, [esp + 0xa0]
call fcn.1000cc05
jmp 0x1000c9c8
dec dword [edx]
jmp 0x1000c9c8
cmp byte [ebp + 8], 0
je 0x1000c0af
cmp byte [ecx], 0
je 0x1000c9c8
xor ebx, ebx
push ebx
push 0x1f18
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObjectEx]
jmp 0x1000c9c8
push 0
mov dword [esp + 0x14], 0xda62
mov dword [esp + 0x20], 0x78e10a3b
pop ebx
mov dword [esp + 0x18], 0x5c21
cmp dword [esp + 0x18], 0x5d3b
push 1
pop edi
jle 0x1000c12e
mov esi, ebx
mov ecx, ebx
mov dword [esp + 0x1c], ebx
mov eax, esi
cdq
idiv ecx
lea ecx, [esp + 0xd8]
mov eax, edx
cdq
push edx
push eax
call fcn.1000288f
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000c0ff
mov eax, dword [eax]
push eax
call fcn.1004603d
pop ecx
push ebx
push edi
lea ecx, [esp + 0xe0]
call fcn.100078fb
mov ecx, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x1c], ecx
cmp ecx, 0x4e7
jl 0x1000c0df
inc esi
cmp esi, 0x1d5b
jl 0x1000c0d9
mov dword [esp + 0x24], 0x656540f2
cmp dword [esp + 0x18], 0x5beb
jge 0x1000c14b
push str.ojsct_pon_fuxshwzqu_hummszrtr_mnyu_xulhba_ocrgjndou_faq_wzlkbajjv_qbm_khph_xkzcfilfr_jtswovsr_fgcdlkni
call fcn.1004603d
pop ecx
or dword [esp + 0x12c], 0xffffffff
mov dword [esp + 0x1c], 0xa4a603d2
mov dword [esp + 0x18], 0x12cc
cmp dword [esp + 0x18], 0x1424
jle 0x1000c1be
mov esi, ebx
mov eax, ebx
mov dword [esp + 0x1c], ebx
and eax, esi
lea ecx, [esp + 0xf0]
cdq
push edx
push eax
call fcn.1000288f
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000c190
mov eax, dword [eax]
push eax
call fcn.1004603d
pop ecx
push ebx
push edi
lea ecx, [esp + 0xf8]
call fcn.100078fb
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, 0x3b2a
jl 0x1000c175
inc esi
cmp esi, 0x31ec
jl 0x1000c16f
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x18], 0x1191
jge 0x1000c1d7
push str.aie_hrgdxyj_hwbib_egdjazcz_wthizz_maqqun_bbaz
call fcn.1004603d
pop ecx
or dword [esp + 0x12c], 0xffffffff
lea ecx, [esp + 0xb0]
mov dword [esp + 0xbc], 5
mov dword [esp + 0x14], 0xffffffff
push 4
call fcn.10001cd0
push 7
pop esi
push ecx
lea eax, [esp + 0xc4]
mov dword [esp + 0x130], esi
push eax
push ecx
push ebx
push 0x50f7
lea ecx, [esp + 0xc4]
call fcn.1000b84e
add esp, 0x14
cmp dword [esp + 0x10], 0x8a60
jg 0x1000c23d
cmp dword [esp + 0x10], ebx
jne 0x1000c23d
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x10]
jle 0x1000c253
mov eax, ebx
cmp dword [esp + 0x10], ebx
je 0x1000c255
mov eax, edi
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x10]
neg eax
sbb eax, eax
inc eax
cmp eax, dword [esp + 0x24]
jg 0x1000c288
mov edx, edi
cmp dword [esp + 0x10], ebx
jne 0x1000c28a
mov edx, ebx
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp edx, eax
setl cl
cmp ecx, 0x8deb256c
push ecx
sbb eax, eax
neg eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], ebx
lea eax, [esp + 0x68]
push 0x385d
push ecx
mov dword [esp + 0x20], 0xfffffff7
mov ecx, 0x14d2
mov dword [esp + 0x20], ebx
mov dword [esp + 0x20], 0x49562184
push edi
mov dword [esp + 0x24], 4
mov dword [esp + 0x74], 0xffffffff
push eax
call fcn.1000b84e
add esp, 0x14
lea ecx, [esp + 0xb0]
call fcn.10001d53
xor eax, eax
mov dword [esp + 0x94], esi
mov dword [esp + 0x90], ebx
mov word [esp + 0x80], ax
mov dword [esp + 0x12c], 0xa
xor ecx, ecx
inc ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], 2
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x20], ebx
jmp 0x1000c351
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0x3c], 0xffffffff
inc dword [esp + 0x20]
cmp dword [esp + 0x20], ecx
jl 0x1000c341
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x20], ebx
jl 0x1000c43a
mov dword [esp + 0x1c], 0xf951fe77
mov dword [esp + 0x14], 0x3589fe57
mov dword [esp + 0x10], ebx
jmp 0x1000c38a
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xc4], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ecx
jl 0x1000c37b
mov dword [esp + 0x1c], ebx
cmp dword [esp + 0x1c], ebx
jl 0x1000c430
mov dword [esp + 0x14], 0xfffffffe
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], ebx
jmp 0x1000c3c0
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x34], 0x8ef6b8f3
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ecx
jl 0x1000c3b0
mov dword [esp + 0x34], ebx
cmp dword [esp + 0x34], ebx
jl 0x1000c426
mov dword [esp + 0x18], 0xf30836b1
mov dword [esp + 0x18], ebx
jmp 0x1000c41a
mov dword [esp + 0x10], 0xa61eefb6
mov dword [esp + 0x14], 0x35b263d1
mov dword [esp + 0x14], 0xb051af7f
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x10], ebx
jmp 0x1000c410
mov dword [esp + 0x14], ecx
dec dword [esp + 0x14]
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jle 0x1000c404
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ebx
jle 0x1000c3de
dec dword [esp + 0x34]
jns 0x1000c3d0
dec dword [esp + 0x1c]
jns 0x1000c39e
dec dword [esp + 0x20]
jns 0x1000c365
cmp dword [esp + 0x3c], ebx
je 0x1000c474
cmp dword [esp + 0x3c], 4
ja 0x1000c453
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x20], ebx
jne 0x1000c453
mov ecx, ebx
mov eax, dword [esp + 0x3c]
xor edx, edx
cmp ecx, esi
sete dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [esp + 0x14], ecx
xor ecx, ecx
inc ecx
mov eax, ecx
cmp dword [esp + 0x14], ebx
jne 0x1000c476
mov eax, ebx
imul eax, eax, 0x3a7e
xor dl, dl
push 0x16ba
mov dword [esp + 0x18], eax
lea eax, [esp + 0x84]
push eax
lea eax, [ebp + 0x10]
push eax
push 0x3302
push 0x52ce
push 0x3fbf
push ebx
push 0x3766
push 0x2f02
push 0x21c3
call fcn.1000b2d8
add esp, 0x28
mov dword [esp + 0x14], 0x2a98
cmp dword [esp + 0x14], 0x2b88
jle 0x1000c546
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov ecx, ebx
xor edi, edi
mov dword [esp + 0x1c], ecx
inc edi
mov esi, ebx
mov dword [esp + 0x18], ebx
mov eax, esi
cdq
idiv dword [esp + 0x18]
mov eax, ecx
lea ecx, [esp + 0x108]
sub eax, edx
cdq
push edx
push eax
call fcn.1000288f
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000c505
mov eax, dword [eax]
push eax
call fcn.1004603d
pop ecx
push ebx
push edi
lea ecx, [esp + 0x110]
call fcn.100078fb
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x18], eax
cmp eax, 0x5574
jl 0x1000c4e1
inc esi
cmp esi, 0x5e34
jl 0x1000c4dd
inc ecx
mov dword [esp + 0x1c], ecx
cmp ecx, 0x3b1a
jl 0x1000c4db
jmp 0x1000c549
xor edi, edi
inc edi
cmp dword [esp + 0x14], 0x2a35
jge 0x1000c55e
push str.fxrdjzbfl_fwlaoe_oxi_tkz_jibenrnu_viucofuny_pepniwyab_apepvhi_tqb_fjqhz_cvqak_tsplln_pqb
call fcn.1004603d
pop ecx
mov dword [esp + 0x12c], 0xa
lea ecx, [esp + 0x54]
mov dword [esp + 0x50], 0x4bc662a2
mov dword [esp + 0x60], 0x6371
mov dword [esp + 0x38], 0x270e7ad5
push 4
call fcn.10001cd0
mov byte [esp + 0x12c], 0xd
mov eax, 0x657a
mov dword [esp + 0x40], edi
mov edx, 0x5084
mov dword [esp + 0x1c], 0x85d0
xor cl, cl
mov dword [esp + 0x14], 0xfffffffe
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x54]
push eax
push 0x5fba
push 0x5795
push ebx
lea eax, [esp + 0x78]
push eax
push edi
push 0x6cc
call fcn.1000bd22
add esp, 0x1c
lea eax, [esp + 0x60]
mov edx, 0x625
push eax
lea eax, [esp + 0x3c]
push eax
push ecx
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x64]
push eax
push edi
lea ecx, [esp + 0x58]
call fcn.1000a811
add esp, 0x18
cmp dword [esp + 0x38], ebx
jne 0x1000c67c
mov ecx, dword [esp + 0x14]
xor edx, edx
mov eax, dword [esp + 0x38]
cmp eax, ecx
mov eax, dword [esp + 0x54]
setle dl
xor ecx, ecx
mov dword [esp + 0x14], edx
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x74]
imul eax, dword [esp + 0x14]
cmp eax, edx
setg cl
cmp ecx, edx
jne 0x1000c64a
mov eax, ebx
cmp dword [esp + 0x70], ebx
je 0x1000c64c
mov eax, edi
mov esi, dword [esp + 0x54]
xor edx, edx
imul eax, eax, 0x1153
sub eax, 0x1153
cmp eax, dword [esi + 8]
mov eax, dword [esp + 0x1c]
setl dl
xor ecx, ecx
cmp eax, edx
setne cl
imul eax, ecx, 0x5412
cmp edi, eax
sbb eax, eax
inc eax
mov dword [esi + 8], eax
mov eax, dword [esp + 0x74]
lea ecx, [esp + 0x54]
mov dword [esp + 0x40], 0xbc6c2db6
mov byte [esp + 0x12c], 0xa
call fcn.10001d53
mov eax, dword [0x100a9d08]
test al, 4
jne 0x1000c6d0
or eax, 4
mov dword [0x100a9d08], eax
push 0x14ad4
mov byte [esp + 0x130], 0xe
call fcn.1003f109
mov word [0x100a896c], ax
mov byte [esp + 0x130], 0xa
mov eax, dword [0x100a9d08]
pop ecx
test al, 8
jne 0x1000c6fd
or eax, 8
mov dword [0x100a9d08], eax
push 0x1900d
mov byte [esp + 0x130], 0xf
call fcn.1003f109
pop ecx
mov word [0x100a9d0c], ax
mov byte [esp + 0x12c], 0xa
push dword [esp + 0x68]
lea eax, [esp + 0xdc]
mov dword [esp + 0x14], edi
push eax
lea eax, [esp + 0xd0]
mov dword [esp + 0x4c], ebx
push eax
xorps xmm0, xmm0
mov dword [esp + 0x54], ebx
push ebx
lea ecx, [esp + 0x54]
mov dword [esp + 0x5c], ebx
movdqu xmmword [esp + 0xd8], xmm0
call fcn.10001db9
mov byte [esp + 0x12c], 0x10
mov dword [esp + 0x1c], 0xcb667f5a
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], ebx
jmp 0x1000c821
mov dword [esp + 0x14], 0x812c005d
mov dword [esp + 0x14], 0xd9532955
mov dword [esp + 0x18], ebx
jmp 0x1000c77a
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x2c], 0xfe1ca29
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jl 0x1000c76a
mov dword [esp + 0x30], ebx
cmp dword [esp + 0x30], 3
jg 0x1000c81d
mov esi, dword [esp + 0x44]
mov dword [esp + 0x14], edi
xor edx, edx
mov dword [esp + 0x14], 8
mov eax, dword [esp + 0x30]
mov dword [esp + 0x14], edi
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
cmp ecx, eax
setle dl
xor eax, eax
cmp dword [esi + 8], edx
setge al
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x14]
cmp eax, dword [ecx + edx*4]
jne 0x1000c7f4
mov eax, edi
cmp dword [esp + 0x30], ebx
jne 0x1000c7f6
mov eax, ebx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x30]
add eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
inc dword [esp + 0x30]
cmp dword [esp + 0x30], 3
jle 0x1000c794
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0x18
jg 0x1000c754
sub esp, 0xc
call fcn.1000a8ef
add esp, 0xc
mov byte [esp + 0x12c], 0xa
lea ecx, [esp + 0x44]
call fcn.10001d53
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
test eax, eax
je 0x1000c9a3
mov edi, eax
xor ecx, ecx
inc ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], 0xa2215256
mov dword [esp + 0x18], ebx
jmp 0x1000c87a
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x28], ecx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ecx
jl 0x1000c86e
mov dword [esp + 0x10], ecx
mov esi, ecx
cmp dword [esp + 0x10], ebx
jne 0x1000c88e
mov esi, ebx
imul ecx, dword [esp + 0x10], 0xfffffffc
xor edx, edx
mov eax, dword [esp + 0x10]
cmp ecx, eax
setg dl
mov dword [esp + 0x20], edx
cmp dword [esp + 0x20], ebx
jne 0x1000c8b2
cmp dword [esp + 0x10], ebx
jne 0x1000c8b2
mov ecx, ebx
jmp 0x1000c8b5
xor ecx, ecx
inc ecx
xor eax, eax
cmp esi, ecx
setg al
xor ecx, ecx
test eax, eax
setns cl
imul ecx, dword [esp + 0x10]
neg ecx
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x28], 0x5f88
jg 0x1000c8eb
cmp dword [esp + 0x28], ebx
je 0x1000c8eb
xor eax, eax
inc eax
jmp 0x1000c8ed
mov eax, ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x10], ebx
jl 0x1000c964
push ecx
push 0x41cd
push 0x2860
mov dl, 1
call fcn.1000a75c
add esp, 0xc
mov dword [esp + 0x20], ebx
jmp 0x1000c958
mov dword [esp + 0x1c], 9
mov dword [esp + 0x1c], ebx
cmp dword [esp + 0x1c], ebx
jl 0x1000c954
mov dword [esp + 0x18], 0x15fb26c
mov dword [esp + 0x18], ebx
cmp dword [esp + 0x18], ebx
jl 0x1000c94e
mov eax, dword [esp + 0x20]
cmp dword [esp + eax*4 + 0x28], ebx
jne 0x1000c94e
mov eax, dword [esp + 0x18]
dec dword [esp + 0x18]
jns 0x1000c93a
dec dword [esp + 0x1c]
jns 0x1000c928
inc dword [esp + 0x20]
cmp dword [esp + 0x20], ebx
jle 0x1000c916
dec dword [esp + 0x10]
jns 0x1000c8fb
call fcn.1000a71e
push 0x34
pop ecx
xor edx, edx
div ecx
push 0x1a
mov eax, edx
pop esi
cmp eax, esi
jge 0x1000c982
movzx edx, word [0x100a896c]
jmp 0x1000c98c
cdq
idiv esi
movzx eax, word [0x100a9d0c]
add edx, eax
lea ecx, [esp + 0x80]
push edx
call fcn.1000c9dd
dec edi
jne 0x1000c859
inc edi
mov ecx, dword [ebp + 0xc]
lea eax, [esp + 0x80]
cmp ecx, eax
je 0x1000c9ba
push 0xffffffffffffffff
push ebx
push eax
call fcn.100079f1
push ebx
push edi
lea ecx, [esp + 0x88]
call fcn.10007bf6
mov ecx, dword [esp + 0x124]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret