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

Disassembly:
push 0xffffffffffffffff
push 0x23bdb2e8
mov eax, dword fs:[0]
push eax
sub esp, 0xb0
push ebx
push ebp
push esi
push edi
mov eax, dword [0x23c68938]
xor eax, esp
push eax
lea eax, [esp + 0xc4]
mov dword fs:[0], eax
mov edi, ecx
push edi
lea ecx, [esp + 0x90]
call fcn.23a38992
mov eax, dword [edi]
mov edx, dword [eax + 0x234]
xor ebx, ebx
mov ecx, edi
mov dword [esp + 0xcc], ebx
call edx
mov esi, eax
mov eax, dword [edi]
mov edx, dword [eax + 0x238]
mov ecx, edi
mov dword [esp + 0x2c], esi
call edx
mov ecx, edi
mov ebp, eax
call fcn.23b45ea0
cmp eax, ebx
jne 0x23b4b1ac
cmp dword [edi + 0x260], ebx
jne 0x23b4b1ac
xor ecx, ecx
jmp 0x23b4b1b1
mov ecx, 1
mov eax, dword [edi + 0x228]
add ebp, esi
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x70], ebp
lea edx, [eax - 2]
mov ebp, 4
mov dword [esp + 0x28], ecx
mov dword [esp + 0x3c], 2
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], esi
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], eax
mov dword [esp + 0x1c], ebp
cmp ecx, ebx
je 0x23b4b2c4
mov ecx, edi
call fcn.23b45e90
mov dword [esp + 0x20], eax
cmp eax, ebx
je 0x23b4b214
mov ebp, dword [eax + 0x44]
jmp 0x23b4b216
xor ebp, ebp
mov ecx, edi
mov dword [esp + 0x1c], ebp
call fcn.23b46160
mov ebx, eax
mov esi, ebx
mov ecx, edi
sub esi, ebp
call fcn.23b47260
add eax, ebx
push eax
mov eax, dword [esp + 0xd8]
lea ecx, [eax + ebp]
push ecx
push esi
mov edx, ebp
neg edx
push edx
lea ebx, [edi + 0x1c8]
push ebx
call dword [sym.imp.USER32.dll_SetRect]
mov eax, dword [ebx + 0xc]
sub eax, dword [ebx + 4]
add eax, esi
push eax
push 0
lea eax, [esp + 0x44]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
mov eax, dword [ebx + 0xc]
sub eax, dword [ebx + 4]
lea ecx, [esp + 0x64]
add eax, esi
push eax
push 0
push ecx
call dword [sym.imp.USER32.dll_OffsetRect]
mov eax, dword [edi + 0x1d4]
mov ebx, dword [esp + 0xd4]
push eax
push ebx
push 0
push 0
lea esi, [edi + 0x1d8]
push esi
call dword [sym.imp.USER32.dll_SetRect]
mov eax, dword [edi + 0x1d4]
push eax
push ebx
push 0
push 0
lea edx, [edi + 0x1e8]
push edx
call dword [sym.imp.USER32.dll_SetRect]
cmp dword [esp + 0x20], 0
jne 0x23b4b2e5
push esi
call dword [sym.imp.USER32.dll_SetRectEmpty]
jmp 0x23b4b2e5
mov esi, dword [sym.imp.USER32.dll_SetRectEmpty]
lea eax, [edi + 0x1c8]
push eax
call esi
lea eax, [edi + 0x1d8]
push eax
call esi
lea ecx, [edi + 0x1e8]
push ecx
call esi
lea ecx, [esp + 0x74]
call fcn.23aff630
lea ecx, [esp + 0xa0]
call fcn.23aff630
mov ecx, edi
mov byte [esp + 0xcc], 2
xor ebx, ebx
call fcn.23ae57b0
test eax, eax
jle 0x23b4b3a6
push ebx
mov ecx, edi
call fcn.23ae57c0
mov esi, eax
push esi
mov ecx, edi
call fcn.23b471e0
test eax, eax
je 0x23b4b33b
mov edx, dword [esp + 0xa8]
push esi
push edx
lea ecx, [esp + 0xa8]
jmp 0x23b4b391
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push 0
mov ecx, esi
call edx
test eax, eax
je 0x23b4b396
cmp dword [esi + 0x118], 0
jne 0x23b4b396
mov eax, dword [esi + 0x44]
cmp eax, 0xf020
jl 0x23b4b367
cmp eax, 0xf120
jle 0x23b4b396
cmp esi, dword [edi + 0x240]
je 0x23b4b396
cmp esi, dword [edi + 0x19c]
je 0x23b4b396
cmp esi, dword [edi + 0x1a0]
je 0x23b4b396
cmp esi, dword [edi + 0x234]
je 0x23b4b396
mov eax, dword [esp + 0x7c]
push esi
push eax
lea ecx, [esp + 0x7c]
call fcn.23ab7560
mov ecx, edi
inc ebx
call fcn.23ae57b0
cmp ebx, eax
jl 0x23b4b313
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x34]
lea ebx, [esi + ecx - 3]
mov ecx, dword [edi + 0x240]
test ecx, ecx
je 0x23b4b3c5
call fcn.23b52f60
test eax, eax
je 0x23b4b3d2
push 0x31
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ebx, eax
add ebx, 0xa
cmp dword [edi + 0x218], 0
je 0x23b4b3ff
cmp dword [edi + 0x214], 0
je 0x23b4b3ff
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0xd4]
add esi, ecx
push esi
push edx
push ecx
lea eax, [edi + 0x1f8]
push 0
push eax
jmp 0x23b4b422
mov eax, dword [edi + 0x1cc]
mov ecx, dword [edi + 0x1d0]
add ebp, eax
lea eax, [esi + ebp - 3]
push eax
push ecx
add ebp, 0xfffffffe
push ebp
lea ecx, [ebx + 3]
lea edx, [edi + 0x1f8]
push ecx
push edx
call dword [sym.imp.USER32.dll_SetRect]
mov ecx, dword [edi + 0x240]
mov esi, 2
mov dword [esp + 0x14], esi
test ecx, ecx
je 0x23b4b606
mov eax, dword [esp + 0x1c]
mov edx, dword [edi + 0x1cc]
lea esi, [eax + edx - 1]
xor eax, eax
mov ebp, ebx
dec ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], eax
call fcn.23b52f60
test eax, eax
je 0x23b4b4d2
mov ecx, dword [edi + 0x240]
mov edx, dword [ecx]
mov edx, dword [edx + 0x9c]
lea eax, [esp + 0x8c]
push eax
lea eax, [esp + 0x50]
push eax
call edx
mov ebp, dword [eax]
mov eax, dword [eax + 4]
mov esi, dword [esp + 0x40]
mov ecx, edi
mov dword [esp + 0x50], eax
call fcn.23b45e30
mov ebx, dword [eax + 0x90]
mov ecx, dword [eax + 0x8c]
mov edx, dword [eax + 0x88]
add eax, 0x88
mov eax, dword [eax + 0xc]
mov dword [esp + 0x54], ebx
mov ebx, dword [esp + 0x2c]
add esi, ecx
sub ebx, ecx
mov ecx, dword [esp + 0x54]
add ecx, 3
mov dword [esp + 0x58], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], ecx
jmp 0x23b4b566
cmp dword [esp + 0x28], 0
jne 0x23b4b50e
mov ecx, dword [edi + 0x240]
mov edx, dword [ecx]
mov edx, dword [edx + 0x9c]
lea eax, [esp + 0x8c]
push eax
lea eax, [esp + 0x50]
push eax
call edx
mov ebp, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [esp + 0x2c]
sub eax, ebx
cdq
sub eax, edx
mov esi, eax
sar esi, 1
add esi, dword [esp + 0x40]
jmp 0x23b4b566
cmp dword [edi + 0x210], 0
jne 0x23b4b566
mov ecx, dword [edi + 0x240]
mov eax, dword [ecx]
mov eax, dword [eax + 0x9c]
lea edx, [esp + 0x8c]
push edx
lea edx, [esp + 0x50]
push edx
call eax
mov ebp, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [edi + 0x1d4]
sub eax, dword [edi + 0x1cc]
sub eax, ebx
cdq
sub eax, edx
mov esi, eax
sar esi, 1
add esi, dword [edi + 0x1cc]
cmp dword [edi + 0x214], 0
jne 0x23b4b566
lea ecx, [ebp + 0xf]
mov dword [edi + 0x1f8], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
lea edx, [eax + ebp]
add ebp, ecx
mov dword [esp + 0x4c], eax
add eax, ebp
add ebx, esi
cmp dword [esp + 0x28], 0
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], eax
jne 0x23b4b59a
cmp dword [edi + 0x210], 0
jne 0x23b4b59a
mov eax, 1
jmp 0x23b4b59c
xor eax, eax
mov ecx, dword [edi + 0x240]
test eax, eax
je 0x23b4b5bc
mov eax, dword [ecx + 0x90]
mov edx, dword [ecx]
mov edx, dword [edx + 0x94]
or eax, 2
push eax
call edx
jmp 0x23b4b5d0
mov edx, dword [ecx + 0x90]
mov eax, dword [ecx]
mov eax, dword [eax + 0x94]
and edx, 0xfffffffd
push edx
call eax
mov ebp, dword [esp + 0x4c]
mov ecx, dword [edi + 0x240]
mov edx, dword [ecx]
sub esp, 0x10
mov eax, esp
mov dword [eax], ebp
mov dword [eax + 4], esi
mov esi, dword [esp + 0x30]
mov dword [eax + 8], esi
mov dword [eax + 0xc], ebx
mov eax, dword [edx + 0x7c]
call eax
mov eax, dword [edi + 0x240]
mov esi, dword [esp + 0x14]
mov dword [eax + 0x54], 1
xor ebx, ebx
cmp dword [esp + 0x7c], ebx
mov dword [esp + 0x18], ebx
jle 0x23b4b75b
mov ebp, dword [esp + 0x7c]
test ebx, ebx
jl 0x23b4b7a2
cmp ebx, ebp
jge 0x23b4b7a2
mov ecx, dword [esp + 0x78]
mov esi, dword [ecx + ebx*4]
mov ecx, esi
call fcn.23b04160
test al, 1
jne 0x23b4b74a
xor eax, eax
cmp dword [edi + 0x210], eax
sete al
test eax, eax
je 0x23b4b663
mov eax, dword [esi + 0x90]
mov edx, dword [esi]
mov edx, dword [edx + 0x94]
or eax, 4
push eax
jmp 0x23b4b675
mov ecx, dword [esi + 0x90]
mov eax, dword [esi]
mov edx, dword [eax + 0x94]
and ecx, 0xfffffffb
push ecx
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push 0
mov ecx, esi
call edx
test eax, eax
je 0x23b4b74a
mov eax, dword [esi]
mov eax, dword [eax + 0x9c]
lea ecx, [esp + 0x8c]
push ecx
lea edx, [esp + 0x60]
push edx
mov ecx, esi
call eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x60]
sub eax, ecx
cdq
sub eax, edx
mov ebx, eax
sar ebx, 1
add ebx, dword [esp + 0x40]
cmp dword [esi + 0x58], 0
je 0x23b4b6c8
add dword [esp + 0x14], 6
mov eax, dword [esp + 0x14]
mov edx, dword [esi]
mov edx, dword [edx + 0x94]
add ecx, ebx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x5c]
lea ebp, [ecx + eax]
mov dword [esp + 0x4c], eax
mov eax, dword [esi + 0x90]
and eax, 0xfffffffd
push eax
mov ecx, esi
mov dword [esp + 0x18], ebp
call edx
mov ecx, dword [esp + 0x4c]
mov edx, dword [esi]
mov edx, dword [edx + 0x7c]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 4], ebx
mov dword [eax + 8], ebp
mov dword [eax + 0xc], ecx
mov ecx, esi
call edx
mov ebx, dword [esp + 0x48]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0xd8]
mov ebp, dword [esp + 0x7c]
mov eax, 2
mov dword [esi + 0x70], eax
add edx, 0xfffffffe
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], edx
mov dword [esi + 0x7c], ebx
mov ebx, dword [esp + 0x18]
mov dword [esi + 0x54], 0
inc ebx
cmp ebx, ebp
mov dword [esp + 0x18], ebx
jl 0x23b4b61a
mov esi, dword [esp + 0x14]
mov ecx, dword [edi + 0x218]
xor ebx, ebx
mov dword [esp + 0x5c], esi
cmp ecx, ebx
je 0x23b4b7a7
mov eax, dword [edi + 0x214]
cmp eax, ebx
jne 0x23b4b7a7
cmp dword [esp + 0x28], ebx
jne 0x23b4b7a7
mov edx, dword [esp + 0x40]
mov dword [edi + 0x1fc], edx
mov edx, dword [esp + 0x48]
add esi, 5
mov dword [esp + 0x30], 1
mov dword [edi + 0x1f8], esi
mov dword [edi + 0x204], edx
jmp 0x23b4b7c0
call fcn.23a2f00f
mov eax, dword [edi + 0x214]
mov esi, eax
neg esi
sbb esi, esi
and esi, 2
add esi, dword [edi + 0x1f8]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x14], esi
cmp ecx, ebx
je 0x23b4b7dc
cmp eax, ebx
je 0x23b4b7dc
mov eax, dword [esp + 0xd4]
add eax, 0xfffffff1
mov dword [esp + 0x24], eax
jmp 0x23b4b80f
mov ecx, edi
call fcn.23b466a0
test eax, eax
je 0x23b4b7f3
mov ecx, dword [esp + 0xd4]
add ecx, 0xffffff8d
jmp 0x23b4b80b
mov eax, dword [edi + 0x1cc]
sub eax, dword [edi + 0x1d4]
mov edx, dword [esp + 0xd4]
lea ecx, [edx + eax*2]
add ecx, eax
mov dword [esp + 0x24], ecx
mov ecx, dword [edi + 0x23c]
cmp ecx, ebx
je 0x23b4b82d
mov edx, dword [ecx + 0x90]
mov eax, dword [ecx]
mov eax, dword [eax + 0x94]
or edx, 1
push edx
call eax
mov ecx, dword [edi + 0x240]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x34], ebx
cmp ecx, ebx
je 0x23b4b850
call fcn.23b52f60
mov dword [esp + 0x1c], 1
test eax, eax
jne 0x23b4b854
mov dword [esp + 0x1c], ebx
cmp dword [esp + 0xa8], ebx
mov dword [esp + 0x18], ebx
jle 0x23b4bacc
mov eax, dword [esp + 0x18]
test eax, eax
jl 0x23b4b7a2
cmp eax, dword [esp + 0xa8]
jge 0x23b4b7a2
cmp dword [edi + 0x218], 0
mov ecx, dword [esp + 0xa4]
mov esi, dword [ecx + eax*4]
jne 0x23b4b8a5
mov eax, dword [esi + 0x90]
mov edx, dword [esi]
mov edx, dword [edx + 0x94]
or eax, 2
push eax
jmp 0x23b4b8cb
cmp esi, dword [edi + 0x23c]
je 0x23b4b8cf
cmp dword [esp + 0x20], 0
mov eax, dword [esi]
mov ecx, dword [esi + 0x90]
mov edx, dword [eax + 0x94]
je 0x23b4b8c7
or ecx, 2
jmp 0x23b4b8ca
and ecx, 0xfffffffd
push ecx
mov ecx, esi
call edx
cmp dword [esp + 0x28], 0
jne 0x23b4b8f5
cmp dword [edi + 0x210], 0
jne 0x23b4b8f5
mov ecx, dword [esi + 0x90]
mov eax, dword [esi]
mov edx, dword [eax + 0x94]
or ecx, 2
push ecx
mov ecx, esi
call edx
cmp esi, dword [edi + 0x238]
jne 0x23b4b920
cmp dword [esp + 0x34], 0
je 0x23b4b920
cmp dword [esp + 0x30], 0
jne 0x23b4b920
cmp dword [edi + 0x214], 0
jne 0x23b4b920
cmp dword [esp + 0x1c], 0
jne 0x23b4b920
add dword [esp + 0x14], 0xc
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push 0
mov ecx, esi
call edx
test eax, eax
je 0x23b4bab2
cmp esi, dword [edi + 0x23c]
je 0x23b4b94e
mov dword [esp + 0x38], 0
cmp esi, dword [edi + 0x238]
jne 0x23b4b956
mov dword [esp + 0x38], 1
mov eax, dword [esi]
mov eax, dword [eax + 0x9c]
lea ecx, [esp + 0x8c]
push ecx
lea edx, [esp + 0x50]
push edx
mov ecx, esi
call eax
mov eax, dword [edi + 0x204]
sub eax, dword [edi + 0x1fc]
mov ebp, dword [esp + 0x50]
sub eax, ebp
inc eax
cdq
sub eax, edx
mov ebx, eax
sar ebx, 1
add ebx, dword [edi + 0x1fc]
cmp dword [edi + 0x214], 0
jne 0x23b4b9a7
cmp dword [esp + 0x30], 0
jne 0x23b4b9a7
cmp dword [esp + 0x1c], 0
je 0x23b4ba14
inc ebx
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x23b4b9b7
mov dword [esp + 0x34], 1
cmp dword [esi + 0x58], 0
je 0x23b4b9c2
add dword [esp + 0x14], 6
mov ecx, dword [esp + 0x4c]
test eax, eax
jne 0x23b4ba21
mov edx, dword [esp + 0x14]
lea eax, [ecx + edx]
cmp eax, dword [esp + 0x24]
jle 0x23b4ba21
mov eax, dword [esi + 0x90]
mov edx, dword [esi]
mov edx, dword [edx + 0x94]
or eax, 2
push eax
mov ecx, esi
mov dword [esp + 0x24], 1
call edx
mov ecx, dword [edi + 0x23c]
mov edx, dword [ecx + 0x90]
mov eax, dword [ecx]
mov eax, dword [eax + 0x94]
and edx, 0xfffffffe
push edx
call eax
jmp 0x23b4bab2
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x23b4b9b7
add ebx, 2
jmp 0x23b4b9af
mov eax, dword [esp + 0x14]
add ebp, ebx
cmp dword [esp + 0x30], 0
mov dword [esp + 0x88], ebp
lea ebp, [ecx + eax]
mov dword [esp + 0xb4], eax
jne 0x23b4ba46
cmp dword [esp + 0x38], 0
jne 0x23b4ba4a
mov dword [esp + 0x14], ebp
mov eax, dword [esi + 0x90]
mov edx, dword [esi]
mov edx, dword [edx + 0x94]
and eax, 0xfffffffd
push eax
mov ecx, esi
call edx
mov ecx, dword [esp + 0xb4]
mov edx, dword [esi]
mov edx, dword [edx + 0x7c]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x98]
mov dword [eax + 4], ebx
mov dword [eax + 8], ebp
mov dword [eax + 0xc], ecx
mov ecx, esi
call edx
mov eax, dword [edi + 0x1f8]
mov ecx, dword [edi + 0x1fc]
mov edx, dword [edi + 0x200]
mov ebx, dword [edi + 0x204]
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], edx
mov dword [esi + 0x7c], ebx
mov dword [esi + 0x54], 0
mov eax, dword [esp + 0x18]
inc eax
cmp eax, dword [esp + 0xa8]
mov dword [esp + 0x18], eax
jl 0x23b4b865
mov esi, dword [esp + 0x14]
cmp dword [edi + 0x214], 0
jne 0x23b4badb
mov dword [edi + 0x200], esi
cmp dword [esp + 0x30], 0
jne 0x23b4baea
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x14], esi
mov ebx, dword [esp + 0x7c]
mov ecx, dword [esp + 0xd4]
add ebx, 0xffffffff
mov dword [esp + 0x24], ecx
mov dword [esp + 0x18], ebx
js 0x23b4bc50
test ebx, ebx
jl 0x23b4b7a2
cmp ebx, dword [esp + 0x7c]
jge 0x23b4b7a2
mov eax, dword [esp + 0x78]
mov esi, dword [eax + ebx*4]
mov ecx, esi
call fcn.23b04160
test al, 1
je 0x23b4bc3b
xor eax, eax
cmp dword [edi + 0x210], eax
sete al
test eax, eax
je 0x23b4bb51
mov eax, dword [esi + 0x90]
mov edx, dword [esi]
mov edx, dword [edx + 0x94]
or eax, 4
push eax
jmp 0x23b4bb63
mov ecx, dword [esi + 0x90]
mov eax, dword [esi]
mov edx, dword [eax + 0x94]
and ecx, 0xfffffffb
push ecx
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push 0
mov ecx, esi
call edx
test eax, eax
je 0x23b4bc3b
mov eax, dword [esi]
mov eax, dword [eax + 0x9c]
lea ecx, [esp + 0x8c]
push ecx
lea edx, [esp + 0x50]
push edx
mov ecx, esi
call eax
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x24]
sub ebx, dword [esp + 0x4c]
sub eax, ecx
cdq
sub eax, edx
mov edx, dword [esi]
mov edx, dword [edx + 0x94]
mov ebp, eax
mov eax, dword [esi + 0x90]
sar ebp, 1
add ebp, dword [esp + 0x40]
and eax, 0xfffffffd
add ecx, ebp
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xbc], ecx
push eax
mov ecx, esi
mov dword [esp + 0x28], ebx
call edx
mov ecx, dword [esp + 0xbc]
mov edx, dword [esi]
mov edx, dword [edx + 0x7c]
sub esp, 0x10
mov eax, esp
mov dword [eax], ebx
mov dword [eax + 4], ebp
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x6c]
mov dword [eax + 0xc], ecx
mov ecx, esi
call edx
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x48]
mov edx, dword [esp + 0xd8]
mov eax, 2
mov dword [esi + 0x70], eax
mov eax, dword [esi]
add edx, 0xfffffffe
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], edx
mov edx, dword [eax + 0x5c]
push 0
mov ecx, esi
mov dword [esi + 0x7c], ebx
mov dword [esi + 0x54], 1
call edx
mov ebx, dword [esp + 0x18]
sub ebx, 1
mov dword [esp + 0x18], ebx
jns 0x23b4bb06
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov ebx, dword [edi + 0x210]
mov ebp, dword [esp + 0x40]
test ebx, ebx
jne 0x23b4bc66
mov eax, ebp
mov dword [esp + 0x48], eax
jmp 0x23b4bc6a
mov eax, dword [esp + 0x48]
lea edx, [esi + 6]
cmp edx, ecx
jg 0x23b4bc8a
test ebx, ebx
je 0x23b4bc8a
mov dword [edi + 0x1a8], esi
mov dword [edi + 0x1ac], ebp
inc eax
mov dword [edi + 0x1b0], ecx
jmp 0x23b4bca1
xor ecx, ecx
inc eax
mov dword [edi + 0x1a8], ecx
xor edx, edx
mov dword [edi + 0x1ac], ebp
mov dword [edi + 0x1b0], edx
mov ecx, dword [edi + 0x234]
mov dword [edi + 0x1b4], eax
test ecx, ecx
je 0x23b4bd74
xor eax, eax
test ebx, ebx
sete al
test eax, eax
je 0x23b4bcd6
mov edx, dword [ecx + 0x90]
mov eax, dword [ecx]
mov eax, dword [eax + 0x94]
or edx, 1
push edx
call eax
jmp 0x23b4bcea
mov eax, dword [ecx + 0x90]
mov edx, dword [ecx]
mov edx, dword [edx + 0x94]
and eax, 0xfffffffe
push eax
call edx
mov esi, dword [edi + 0x1a8]
mov ecx, dword [edi + 0x234]
mov edx, dword [ecx]
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov esi, dword [edi + 0x1ac]
mov dword [eax + 4], esi
mov esi, dword [edi + 0x1b0]
mov dword [eax + 8], esi
mov esi, dword [edi + 0x1b4]
mov dword [eax + 0xc], esi
mov eax, dword [edx + 0x7c]
call eax
mov eax, dword [edi + 0x234]
test eax, eax
je 0x23b4bd31
lea esi, [eax + 0x144]
jmp 0x23b4bd33
xor esi, esi
mov ecx, edi
call fcn.23b462b0
mov ecx, dword [edi + 0x1a8]
mov ebx, dword [eax]
sub esp, 0x10
mov edx, esp
mov dword [edx], ecx
mov ecx, dword [edi + 0x1ac]
mov dword [edx + 4], ecx
mov ecx, dword [edi + 0x1b0]
mov dword [edx + 8], ecx
mov ecx, dword [edi + 0x1b4]
mov dword [edx + 0xc], ecx
lea edx, [esp + 0x9c]
push edx
mov ecx, eax
mov eax, dword [ebx + 0x58]
push esi
call eax
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x80]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esp + 0x9c]
push eax
mov ecx, edi
call fcn.23b472e0
mov ecx, edi
call fcn.23b4acc0
cmp dword [esp + 0x28], 0
je 0x23b4bdbd
mov ecx, edi
call fcn.23b4a660
jmp 0x23b4bdc8
mov ecx, dword [edi + 0x250]
call fcn.23b4d2d0
lea ecx, [esp + 0xa0]
mov byte [esp + 0xcc], 1
call fcn.23aff650
lea ecx, [esp + 0x74]
mov byte [esp + 0xcc], 0
call fcn.23aff650
lea ecx, [esp + 0x8c]
mov dword [esp + 0xcc], 0xffffffff
call fcn.23a389e6
mov ecx, dword [esp + 0xc4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xbc
ret 8