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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x274
mov ecx, dword [esp + 0x28c]
mov edi, dword [esp + 0x288]
test edi, edi
je 0x23f041
mov ecx, dword [esp + 0x290]
mov edx, ecx
and edx, 0xc
mov eax, 0xffffff2f
cmp edx, 0xc
je 0x23f04d
test edx, edx
setne dl
mov ebx, ecx
not ebx
test bl, 0x82
je 0x23f04d
mov ebx, ecx
and ebx, 0x40
shr ebx, 6
and dl, bl
jne 0x23f04d
mov eax, ecx
or eax, 8
test cl, 0x44
cmovne eax, ecx
test al, 0x40
mov dword [esp + 8], eax
jne 0x23f058
push edi
call fcn.004f6240
add esp, 4
inc eax
lea ecx, [esp + 0x178]
push ecx
push 0
push eax
push edi
call fcn.004f6250
add esp, 0x10
test eax, eax
je 0x23f840
mov esi, eax
mov eax, dword [esp + 8]
and eax, 4
mov dword [esp + 0x10], eax
cmp dword [esp + 0x178], 1
jne 0x23f3d5
mov bl, 1
xor edi, edi
jmp 0x23f4ba
xor eax, eax
test ecx, ecx
je 0x23f04d
mov dword [ecx], 0
add esp, 0x274
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, eax
and ecx, 4
mov dword [esp + 0x10], ecx
mov dword [esp + 0x2c], 0
mov ecx, eax
and ecx, 1
mov dword [esp + 0x18], ecx
mov ecx, eax
and eax, 8
shl eax, 0xa
and ecx, 0x20
shl ecx, 9
or ecx, eax
xor ecx, 0x4d5b
mov dword [esp + 0x34], ecx
mov dword [esp], 0
lea ebp, [esp + 0x38]
lea esi, [esp + 0x20]
jmp 0x23f0b4
mov dword [esp], edi
mov byte [esp + edi + 0x78], 0
mov edi, eax
inc edi
cmp byte [eax], 0
je 0x23f389
push 0x2e
push edi
call fcn.00240c50
add esp, 8
mov ebx, eax
mov dword [esp + 4], eax
sub ebx, edi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x28], 0x3f
push ebx
push edi
call fcn.00240f50
add esp, 8
test al, al
je 0x23f120
cmp byte [esp + 8], 0
js 0x23f101
cmp ebx, 4
jb 0x23f101
cmp dword [edi], 0x2d2d6e78
je 0x23f223
cmp ebx, 0x3f
ja 0x23f6aa
push ebx
push edi
push ebp
call fcn.004f8d80
add esp, 0xc
jmp 0x23f2c9
mov byte [esp + 0x14], al
mov ecx, ebx
mov eax, edi
xor edi, edi
mov dword [esp + 0x24], 0
xor ebx, ebx
push dword [esp + 0x18]
push esi
lea edx, [esp + 0x24]
push edx
push ecx
push eax
call fcn.00240e20
add esp, 0x14
test eax, eax
jne 0x23f2a0
cmp dword [esp + 0x10], 0
je 0x23f281
mov dword [esp + 0x38], 0x2d2d6e78
mov dword [esp + 0x30], 0x3b
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x40]
push eax
push dword [esp + 0x28]
push dword [esp + 0x28]
call fcn.002400e0
add esp, 0x10
test eax, eax
jne 0x23f2a0
mov eax, dword [esp + 0x30]
lea ecx, [eax + 4]
cmp byte [esp + 0x14], 0
je 0x23f31a
mov eax, 0xfffffec6
cmp ebx, ecx
jne 0x23f378
cmp edi, ebp
mov dword [esp + 0x14], ecx
sete cl
test ebx, ebx
sete dl
or dl, cl
mov ecx, dword [esp + 0x14]
jne 0x23f376
mov ecx, 1
nop dword [eax + eax]
movzx ebp, byte [edi + ecx - 1]
lea esi, [ebp - 0x41]
lea edx, [ebp + 0x20]
cmp esi, 0x1a
cmovae edx, ebp
movzx esi, byte [esp + ecx + 0x37]
lea ebp, [esi - 0x41]
lea eax, [esi + 0x20]
cmp ebp, 0x1a
cmovae eax, esi
movzx edx, dl
movzx ebp, al
cmp ebx, ecx
je 0x23f205
test edx, edx
je 0x23f205
inc ecx
cmp edx, ebp
je 0x23f1d0
cmp edx, ebp
lea ebp, [esp + 0x38]
lea esi, [esp + 0x20]
mov eax, 0xfffffec6
mov ecx, dword [esp + 0x14]
je 0x23f376
jmp 0x23f2a5
mov byte [esp + 0x14], al
lea eax, [edi + 4]
lea ecx, [ebx - 4]
lea edx, [esp + 0x28]
push edx
lea esi, [esp + 0x17c]
push esi
push ecx
push eax
call fcn.00240420
add esp, 0x10
test eax, eax
jne 0x23f6af
mov dword [esp + 0xc], 0x3f
lea eax, [esp + 0xc]
push eax
push 0
push dword [esp + 0x30]
push esi
call fcn.004f5ef0
add esp, 0x10
test eax, eax
je 0x23f819
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x24], eax
lea esi, [esp + 0x20]
jmp 0x23f134
push dword [esp + 0x20]
push dword [esp + 0x20]
push dword [esp + 0x3c]
call fcn.00240f90
add esp, 0xc
test eax, eax
je 0x23f15b
nop dword [eax]
mov ebx, 0x3f
push dword [esp + 0x1c]
mov edi, eax
call fcn.00240b00
add esp, 4
push dword [esp + 0x24]
call fcn.00240b00
mov eax, edi
add esp, 4
test edi, edi
jne 0x23f6af
mov eax, 0xfd
test ebx, ebx
jne 0x23f2e3
mov eax, dword [esp + 4]
cmp byte [eax], 1
mov eax, 0
adc eax, 0xfd
mov ecx, dword [esp]
lea edi, [ebx + ecx]
cmp edi, eax
ja 0x23f37f
lea eax, [esp + ecx]
add eax, 0x78
push ebx
push ebp
push eax
call fcn.004f8d80
add esp, 0xc
mov eax, dword [esp + 4]
cmp byte [eax], 0x2e
jne 0x23f0a0
mov byte [esp + edi + 0x78], 0x2e
inc edi
jmp 0x23f0a0
cmp byte [esp + 8], 0
js 0x23f376
mov ebx, ecx
lea ecx, [esp + 0x28]
push ecx
lea edi, [esp + 0x17c]
push edi
push eax
lea eax, [esp + 0x48]
push eax
call fcn.00240420
add esp, 0x10
mov ecx, eax
mov eax, 0xfffffec6
test ecx, ecx
jne 0x23f2a5
mov ecx, dword [esp + 0x20]
cmp ecx, dword [esp + 0x28]
jne 0x23f2a5
push ecx
push edi
push dword [esp + 0x24]
call fcn.004f5e10
add esp, 0xc
mov ecx, eax
mov eax, 0xfffffec6
test ecx, ecx
mov ecx, ebx
jne 0x23f378
xor eax, eax
mov ebx, ecx
jmp 0x23f2a5
mov eax, 0xffffff33
jmp 0x23f6af
push dword [esp + 0x2c]
call fcn.00240b00
add esp, 4
xor eax, eax
mov edi, dword [esp + 0x28c]
test edi, edi
je 0x23f04d
mov esi, dword [esp]
inc esi
push esi
call fcn.004f8dd8
add esp, 4
test eax, eax
je 0x23f80f
lea ecx, [esp + 0x78]
push esi
push ecx
push eax
mov esi, eax
call fcn.004f8d80
add esp, 0xc
mov dword [edi], esi
xor eax, eax
jmp 0x23f04d
xor ebx, ebx
lea ebp, [esp + 0x78]
xor edi, edi
jmp 0x23f40d
push 2
push ebp
call fcn.002409c0
add esp, 8
test eax, eax
je 0x23f435
mov eax, dword [esp + 0x80]
and eax, 0x1f
add edi, eax
inc ebx
mov eax, dword [esp + 0x178]
lea ecx, [eax - 1]
cmp ebx, ecx
jae 0x23f499
push ebp
push dword [esi + ebx*4]
call fcn.00240820
add esp, 8
push 0x10
push ebp
call fcn.002409c0
add esp, 8
test eax, eax
je 0x23f3df
cmp dword [esi + ebx*4], 0
jne 0x23f7c4
inc edi
jmp 0x23f3fa
push 1
push ebp
call fcn.002409c0
add esp, 8
test eax, eax
jne 0x23f432
push 4
push ebp
call fcn.002409c0
add esp, 8
test eax, eax
jne 0x23f3fa
push 8
push ebp
call fcn.002409c0
add esp, 8
test eax, eax
je 0x23f46b
cmp dword [esp + 0x10], 0
jne 0x23f3ee
jmp 0x23f432
test byte [esp + 8], 0x20
jne 0x23f3fa
push 0x40
push ebp
call fcn.002409c0
add esp, 8
test eax, eax
jne 0x23f432
push 0x20
push ebp
call fcn.002409c0
add esp, 8
test eax, eax
jne 0x23f3ee
jmp 0x23f3fa
cmp eax, 1
sete bl
cmp edi, 0xff
jb 0x23f4ba
push esi
call fcn.00240b00
add esp, 4
mov eax, 0xffffff33
jmp 0x23f04d
lea eax, [edi*4 + 4]
push eax
call fcn.004f8dd8
add esp, 4
mov dword [esp + 4], eax
test eax, eax
je 0x23f697
mov eax, ebx
xor ebx, ebx
test al, al
je 0x23f6c4
push esi
call fcn.00240b00
add esp, 4
mov esi, dword [esp + 4]
mov dword [esi + ebx*4], 0
inc ebx
mov eax, dword [0x88fe34]
lea ecx, [esp + 0x178]
push ecx
push 0
push ebx
push esi
push eax
call fcn.004f5610
add esp, 0x14
mov edi, eax
push esi
call fcn.00240b00
add esp, 4
test edi, edi
je 0x23f840
mov ecx, dword [edi]
test ecx, ecx
je 0x23f7d7
xor eax, eax
cmp dword [esp + 0x10], 0
sete al
shl eax, 0xc
mov edx, dword [esp + 8]
and edx, 0x20
mov ebx, edx
shl ebx, 9
add eax, ebx
add eax, 0x100f
xor eax, 0x4000
mov dword [esp + 4], eax
xor eax, eax
test edx, edx
sete al
shl eax, 0xe
or eax, 0x200f
mov dword [esp + 0x24], eax
xor ebp, ebp
lea ebx, [esp + 0x78]
mov dword [esp + 0x18], edi
mov eax, edi
nop word cs:[eax + eax]
xor edx, edx
mov esi, ecx
mov edi, eax
test esi, esi
je 0x23f5a2
nop word [eax + eax]
cmp esi, 0x2e
je 0x23f5a2
mov esi, dword [edi + 4]
add edi, 4
add edx, 4
test esi, esi
jne 0x23f590
mov esi, ebx
sar edx, 2
cmp edx, 4
setl bl
cmp ecx, 0x78
setne cl
or cl, bl
jne 0x23f650
cmp dword [eax + 4], 0x6e
jne 0x23f650
cmp dword [eax + 8], 0x2d
jne 0x23f650
cmp dword [eax + 0xc], 0x2d
jne 0x23f650
mov dword [esp + 0xc], 0x3f
add eax, 0x10
add edx, 0xfffffffc
lea ecx, [esp + 0x38]
push ecx
push 0
push edx
push eax
call fcn.004f5ef0
add esp, 0x10
test eax, eax
je 0x23f834
mov ecx, eax
mov ebx, esi
lea eax, [esp + 0xc]
push eax
push esi
push dword [esp + 0x40]
push ecx
mov esi, ecx
call fcn.00240420
add esp, 0x10
mov dword [esp], eax
push esi
call fcn.00240b00
mov eax, dword [esp + 4]
add esp, 4
test eax, eax
jne 0x23f85b
push dword [esp + 0xc]
push ebx
push dword [esp + 0x2c]
call fcn.00240f90
add esp, 0xc
test eax, eax
cmovne ebp, eax
jmp 0x23f665
push edx
push eax
push dword [esp + 0xc]
call fcn.00240f90
add esp, 0xc
test eax, eax
cmovne ebp, eax
mov ebx, esi
xor ecx, ecx
cmp dword [edi], 0
setne cl
lea eax, [edi + ecx*4]
mov ecx, dword [edi + ecx*4]
test ecx, ecx
jne 0x23f580
test ebp, ebp
mov edi, dword [esp + 0x18]
je 0x23f7d7
push edi
call fcn.00240b00
add esp, 4
mov eax, ebp
jmp 0x23f04d
push esi
call fcn.00240b00
add esp, 4
mov eax, 0xffffff9c
jmp 0x23f04d
mov eax, 0xffffff32
push dword [esp + 0x2c]
mov esi, eax
call fcn.00240b00
mov eax, esi
add esp, 4
jmp 0x23f04d
xor ebp, ebp
xor ebx, ebx
mov dword [esp], esi
nop dword [eax + eax]
mov edi, dword [esi + ebp*4]
lea esi, [esp + 0x78]
push esi
push edi
call fcn.00240820
add esp, 8
push 0x10
push esi
call fcn.002409c0
add esp, 8
test eax, eax
je 0x23f6fa
mov eax, dword [esp + 4]
mov dword [eax + ebx*4], edi
inc ebx
jmp 0x23f71c
push 2
push esi
call fcn.002409c0
add esp, 8
test eax, eax
je 0x23f731
mov eax, dword [esp + 4]
lea eax, [eax + ebx*4]
push esi
push eax
call fcn.00240a20
add esp, 8
add ebx, eax
mov esi, dword [esp]
inc ebp
mov eax, dword [esp + 0x178]
dec eax
cmp ebp, eax
jb 0x23f6d0
jmp 0x23f4e2
push 1
push esi
call fcn.002409c0
add esp, 8
test eax, eax
jne 0x23f6f0
push 4
push esi
call fcn.002409c0
add esp, 8
test eax, eax
jne 0x23f71c
push 8
push esi
call fcn.002409c0
add esp, 8
test eax, eax
je 0x23f772
cmp dword [esp + 0x10], 0
mov esi, dword [esp]
jne 0x23f7a8
mov eax, dword [esp + 4]
mov dword [eax + ebx*4], edi
inc ebx
jmp 0x23f71f
test byte [esp + 8], 0x20
jne 0x23f71c
push 0x40
lea esi, [esp + 0x7c]
push esi
call fcn.002409c0
add esp, 8
test eax, eax
jne 0x23f6f0
push 0x20
push esi
call fcn.002409c0
add esp, 8
test eax, eax
jne 0x23f709
jmp 0x23f71c
mov eax, dword [esp + 4]
lea eax, [eax + ebx*4]
lea ecx, [esp + 0x78]
push ecx
push eax
call fcn.00240a20
add esp, 8
add ebx, eax
jmp 0x23f71f
push esi
call fcn.00240b00
add esp, 4
mov eax, 0xfffffed0
jmp 0x23f04d
lea eax, [esp + 0x178]
push eax
push 0
push dword [esp + 0x180]
push edi
call fcn.004f5ef0
add esp, 0x10
mov esi, eax
push edi
call fcn.00240b00
add esp, 4
test esi, esi
je 0x23f840
mov dword [esp + 0x2c], esi
mov edi, esi
mov eax, dword [esp + 8]
jmp 0x23f069
mov eax, 0xffffff9c
jmp 0x23f04d
call reloc.ucrtbase.dll__errno
nop
cmp dword [eax], 0xc
mov ecx, 0xffffff9c
mov eax, 0xffffff38
cmove eax, ecx
jmp 0x23f6af
push dword [esp + 0x18]
call fcn.00240b00
add esp, 4
nop
call reloc.ucrtbase.dll__errno
cmp dword [eax], 0xc
mov ecx, 0xffffff9c
mov eax, 0xffffff38
cmove eax, ecx
jmp 0x23f04d
push dword [esp + 0x18]
jmp 0x23f6b3