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

Disassembly:
push 0xffffffffffffffff
push 0x23bd1ee8
mov eax, dword fs:[0]
push eax
sub esp, 0x108
push ebx
push ebp
push esi
push edi
mov eax, dword [0x23c68938]
xor eax, esp
push eax
lea eax, [esp + 0x11c]
mov dword fs:[0], eax
mov esi, ecx
call fcn.23a64bc0
push 0
mov ecx, esi
mov dword [esi + 0x468], eax
call fcn.23a64ad0
mov ecx, esi
mov edi, eax
call fcn.23a64940
mov ecx, esi
call fcn.23a64990
call fcn.23a64fb0
mov ecx, esi
test edi, edi
je 0x23a66318
call fcn.23a65dc0
jmp 0x23a66cd1
push 0xf
mov dword [esp + 0x1c], 0
call fcn.23a64910
test eax, eax
jne 0x23a66339
push 0x12
call fcn.23a64910
cmp eax, 0xffffff
je 0x23a66354
push 0xf
mov ecx, esi
call fcn.23a64910
cmp eax, 0xffffff
jne 0x23a663c6
push 0x12
call fcn.23a64910
test eax, eax
jne 0x23a663c6
push 0xd
mov ecx, esi
mov dword [esp + 0x1c], 1
call fcn.23a64910
push 0xd
mov dword [esi + 0x1e8], eax
call fcn.23a64910
push 0xe
mov dword [esi + 0x1fc], eax
call fcn.23a64910
push 0x12
mov dword [esi + 0x220], eax
call fcn.23a64910
push 0x12
mov dword [esi + 0x1ec], eax
call fcn.23a64910
push 0xd
mov dword [esi + 0x200], eax
call fcn.23a64910
push 0x12
mov dword [esi + 0x234], eax
call fcn.23a64910
push 0x12
mov dword [esi + 0x218], eax
call fcn.23a64910
mov dword [esi + 0x204], eax
cmp dword [esp + 0x18], 0
mov eax, 5
mov ecx, 0xd
mov ebp, 0x1e
mov dword [esp + 0x30], eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
mov dword [esp + 0x50], ecx
mov ecx, 0x10
mov dword [esp + 0x54], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0xc4], eax
mov eax, 0x5a
mov edx, 0x1f
mov ebx, 0x21
mov edi, 0x29
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x34], 0xf
mov dword [esp + 0x38], 0xa5
mov dword [esp + 0x3c], edx
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x58], 0x32
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], 0xf
mov dword [esp + 0x68], 0x8f
mov dword [esp + 0x6c], 0x23
mov dword [esp + 0x70], 0x11
mov dword [esp + 0x78], 0x46
mov dword [esp + 0x7c], 0x26
mov dword [esp + 0x80], ecx
mov dword [esp + 0x88], 0x4b
mov dword [esp + 0x8c], 0x27
mov dword [esp + 0x90], ecx
mov dword [esp + 0x98], 0x46
mov dword [esp + 0x9c], 0x2b
mov dword [esp + 0xa0], 0x2e
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], 0x14
mov dword [esp + 0xac], 0x3d
mov dword [esp + 0xb0], 0x2e
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], 0xf
mov dword [esp + 0xbc], 0x28
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], 0x2a
mov dword [esp + 0xd0], 0xf
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], eax
jne 0x23a6658c
lea edi, [esp + 0x34]
mov dword [esp + 0x1c], 0xb
lea ebx, [ebx]
mov eax, dword [edi + 4]
mov ecx, dword [edi]
push eax
push ecx
mov ecx, esi
call fcn.23a64910
mov edx, dword [edi - 4]
push eax
push edx
call fcn.23a64910
push eax
call fcn.23a64860
mov ecx, dword [edi - 8]
add edi, 0x10
sub dword [esp + 0x1c], 1
mov dword [esi + ecx*4 + 0x16c], eax
jne 0x23a66550
mov edi, 0x29
mov edx, 0x1f
fld dword [0x23bf127c]
mov ecx, 0x23
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x64], ecx
mov ecx, 0x25
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x74], ecx
mov ecx, 0x26
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x84], ecx
mov ecx, 0x27
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x94], ecx
mov ecx, 0x2b
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa4], ecx
mov ecx, 0x3d
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb4], ecx
mov ecx, 0x2d
mov eax, 0x64
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xe4], ecx
mov ecx, 0x2e
mov dword [esp + 0x48], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xb8], eax
mov eax, 0x28
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf4], ecx
mov ecx, 0x2f
push ecx
mov dword [esp + 0xc0], eax
fstp dword [esp]
mov dword [esp + 0xc8], eax
mov eax, 0x2c
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd8], eax
mov eax, 0xb4
push 1
mov dword [esp + 0x104], ecx
mov dword [esp + 0x10c], ecx
push ebp
mov ecx, esi
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], 0x32
mov dword [esp + 0x48], 0x20
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], 0xd
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebp
mov dword [esp + 0x6c], edi
mov dword [esp + 0x74], 0x50
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x94], 0x55
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xa4], 0x32
mov dword [esp + 0xac], edi
mov dword [esp + 0xbc], ebp
mov dword [esp + 0xcc], ebp
mov dword [esp + 0xd4], 0x50
mov dword [esp + 0xdc], edi
mov dword [esp + 0xe4], eax
mov dword [esp + 0xec], edx
mov dword [esp + 0xf4], eax
mov dword [esp + 0xfc], ebp
mov dword [esp + 0x104], eax
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x114], eax
call fcn.23a64910
push eax
push 0xf
call fcn.23a64910
push eax
call fcn.23a654c0
test eax, eax
je 0x23a6677e
fld dword [0x23bf127c]
push ecx
fstp dword [esp]
push ebp
mov ecx, esi
call fcn.23a64910
push eax
push 0xf
call fcn.23a64910
push eax
call fcn.23a65b80
mov dword [esi + 0x1e4], eax
lea ebx, [esp + 0x34]
mov dword [esp + 0x24], 0xe
lea ebx, [ebx]
fild dword [ebx + 4]
mov edi, dword [ebx]
push ecx
mov ecx, esi
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 1
push edi
call fcn.23a64910
push eax
mov eax, dword [ebx - 4]
push eax
call fcn.23a64910
push eax
call fcn.23a654c0
test eax, eax
jne 0x23a667e9
fld dword [esp + 0x1c]
push ecx
fstp dword [esp]
push edi
mov ecx, esi
call fcn.23a64910
push eax
mov eax, dword [ebx - 4]
push eax
call fcn.23a64910
push eax
call fcn.23a65560
mov edx, dword [ebx - 8]
mov dword [esi + edx*4 + 0x16c], eax
add ebx, 0x10
sub dword [esp + 0x24], 1
jne 0x23a66790
fld dword [0x23bf1278]
push ecx
fstp dword [esp]
push 1
push 0x23
mov ecx, esi
call fcn.23a64910
push eax
push 0x29
call fcn.23a64910
push eax
call fcn.23a654c0
test eax, eax
je 0x23a66841
fld dword [0x23bf1278]
push ecx
fstp dword [esp]
push 0x23
mov ecx, esi
call fcn.23a64910
push eax
push 0x29
call fcn.23a64910
push eax
call fcn.23a65b80
mov dword [esi + 0x1f8], eax
cmp dword [esp + 0x18], 0
jne 0x23a669da
push ebp
mov ecx, esi
call fcn.23a64910
shr eax, 0x10
movzx ecx, al
imul ecx, ecx, 0x32
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
push 5
mov ecx, esi
mov ebx, eax
call fcn.23a64910
shr eax, 0x10
movzx eax, al
lea edi, [eax + eax*4]
add edi, edi
add edi, edi
add edi, edi
mov eax, 0x51eb851f
imul edi
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
add bl, cl
push 0xd
mov ecx, esi
call fcn.23a64910
shr eax, 0x10
movzx eax, al
lea edi, [eax + eax*4]
add edi, edi
mov eax, 0x51eb851f
imul edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
add bl, al
movzx ebx, bl
push ebp
shl ebx, 8
call fcn.23a64910
shr eax, 8
movzx ecx, al
imul ecx, ecx, 0x32
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, ecx
push 5
mov ecx, esi
mov dword [esp + 0x24], eax
call fcn.23a64910
shr eax, 8
movzx eax, al
mov ecx, dword [esp + 0x20]
lea edi, [eax + eax*4]
add edi, edi
add edi, edi
add edi, edi
mov eax, 0x51eb851f
imul edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
add cl, al
mov byte [esp + 0x18], cl
push 0xd
mov ecx, esi
call fcn.23a64910
shr eax, 8
movzx eax, al
lea edi, [eax + eax*4]
add edi, edi
mov eax, 0x51eb851f
imul edi
mov al, byte [esp + 0x18]
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
add al, cl
movzx edx, al
or ebx, edx
push ebp
mov ecx, esi
shl ebx, 8
call fcn.23a64910
movzx ecx, al
imul ecx, ecx, 0x32
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
push 5
mov ecx, esi
mov dword [esp + 0x24], eax
call fcn.23a64910
movzx eax, al
lea edi, [eax + eax*4]
add edi, edi
add edi, edi
add edi, edi
mov eax, 0x51eb851f
imul edi
mov eax, dword [esp + 0x20]
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
add al, cl
push 0xd
mov ecx, esi
mov byte [esp + 0x1c], al
call fcn.23a64910
mov cl, byte [esp + 0x18]
movzx eax, al
lea edi, [eax + eax*4]
add edi, edi
mov eax, 0x51eb851f
imul edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
add cl, al
movzx ecx, cl
or ebx, ecx
mov dword [esi + 0x1fc], ebx
push 0xf
mov ecx, esi
call fcn.23a64910
movzx edi, al
mov edx, eax
shr edx, 8
mov dword [esp + 0x18], eax
movzx ecx, dl
shr eax, 0x10
cmp edi, ecx
movzx eax, al
mov dword [esp + 0x24], edi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
mov edx, edi
jg 0x23a66a0c
mov edx, ecx
cmp edx, eax
jle 0x23a66a18
cmp edi, ecx
jle 0x23a66a1a
mov ecx, edi
jmp 0x23a66a1a
mov ecx, eax
test ecx, ecx
jne 0x23a66a2a
mov dword [esi + 0x22c], 0x232323
jmp 0x23a66a78
mov eax, 0xff
sub eax, ecx
cmp eax, 0x23
mov edi, 0x23
jg 0x23a66a3d
mov edi, eax
add edi, ecx
mov eax, edi
imul eax, dword [esp + 0x20]
cdq
idiv ecx
movzx ebx, al
mov eax, edi
imul eax, dword [esp + 0x1c]
cdq
idiv ecx
shl ebx, 8
movzx eax, al
or ebx, eax
mov eax, edi
mov edi, dword [esp + 0x24]
imul eax, edi
cdq
idiv ecx
shl ebx, 8
movzx ecx, al
or ebx, ecx
mov dword [esi + 0x22c], ebx
push 0x10
mov ecx, esi
call fcn.23a64910
movzx ecx, al
mov edx, eax
shr edx, 8
shr eax, 0x10
movzx ebx, dl
cmp ecx, ebx
movzx eax, al
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], eax
mov edx, ecx
jg 0x23a66aa2
mov edx, ebx
cmp edx, eax
jle 0x23a66aae
cmp ecx, ebx
jg 0x23a66ab0
mov ecx, ebx
jmp 0x23a66ab0
mov ecx, eax
cmp dword [esp + 0x18], 0
jne 0x23a66ac3
mov dword [esi + 0x230], 0x7f7f7f
jmp 0x23a66b27
test ecx, ecx
jne 0x23a66acf
mov dword [esi + 0x230], ecx
jmp 0x23a66b27
xor edx, edx
lea eax, [ecx - 0x2b]
test eax, eax
setl dl
dec edx
and edx, eax
mov edi, edx
mov eax, edi
imul eax, dword [esp + 0x28]
cdq
idiv ecx
movzx eax, al
shl eax, 8
mov dword [esp + 0x28], eax
mov eax, edi
imul eax, ebx
cdq
idiv ecx
mov edx, dword [esp + 0x28]
movzx eax, al
or edx, eax
mov eax, edi
imul eax, dword [esp + 0x14]
shl edx, 8
mov dword [esp + 0x14], edx
cdq
idiv ecx
mov edi, dword [esp + 0x24]
movzx ecx, al
mov eax, dword [esp + 0x14]
or eax, ecx
mov dword [esi + 0x230], eax
mov ecx, dword [esi + 0x1e8]
fnstcw word [esp + 0x18]
mov edx, ecx
shr edx, 0x10
movzx eax, dl
mov dword [esp + 0x14], eax
movzx eax, word [esp + 0x18]
fild dword [esp + 0x14]
fld qword [0x23bf1270]
or eax, 0xc00
mov dword [esp + 0x14], eax
fmul st(1), st(0)
mov eax, ecx
fxch st(1)
shr eax, 8
fldcw word [esp + 0x14]
movzx eax, al
movzx ecx, cl
fistp dword [esp + 0x14]
mov dl, byte [esp + 0x14]
mov dword [esp + 0x14], eax
movzx edx, dl
fldcw word [esp + 0x18]
shl edx, 8
add edi, 0xf
fild dword [esp + 0x14]
fnstcw word [esp + 0x18]
fmul st(1)
movzx eax, word [esp + 0x18]
or eax, 0xc00
mov dword [esp + 0x14], eax
fldcw word [esp + 0x14]
fistp dword [esp + 0x14]
movzx eax, byte [esp + 0x14]
or edx, eax
mov dword [esp + 0x14], ecx
fldcw word [esp + 0x18]
shl edx, 8
fild dword [esp + 0x14]
fnstcw word [esp + 0x18]
fmulp st(1)
movzx eax, word [esp + 0x18]
or eax, 0xc00
mov dword [esp + 0x14], eax
fldcw word [esp + 0x14]
fistp dword [esp + 0x14]
movzx eax, byte [esp + 0x14]
movzx ecx, al
fldcw word [esp + 0x18]
or edx, ecx
cmp edi, 0xff
mov dword [esi + 0x1f4], edx
mov edx, edi
jl 0x23a66bf6
mov edx, 0xff
mov ecx, dword [esp + 0x1c]
add ecx, 0xf
cmp ecx, 0xff
jl 0x23a66c0a
mov ecx, 0xff
mov eax, dword [esp + 0x20]
add eax, 0xf
cmp eax, 0xff
jl 0x23a66c1d
mov eax, 0xff
movzx eax, al
shl eax, 8
movzx ecx, cl
or eax, ecx
movzx edx, dl
shl eax, 8
or eax, edx
push ebp
mov ecx, esi
mov dword [esi + 0x1c4], eax
call fcn.23a64910
push 0x28
mov dword [esi + 0x240], eax
call fcn.23a64910
mov dword [esi + 0x254], eax
mov eax, dword [esi + 0x20c]
mov dword [esi + 0x25c], eax
call fcn.23a65dc0
push 1
lea ecx, [esp + 0x110]
call fcn.23a7aa70
push str.TREEVIEW
push 0
lea ecx, [esp + 0x114]
mov dword [esp + 0x12c], 0
call fcn.23a7b0e0
lea ecx, [esp + 0x10c]
call fcn.23a7afa0
test eax, eax
je 0x23a66cba
add esi, 0x250
push esi
push 0xed9
push 0
push 0
lea ecx, [esp + 0x11c]
call fcn.23a7ace0
lea ecx, [esp + 0x10c]
mov dword [esp + 0x124], 0xffffffff
call fcn.23a7b570
mov ecx, dword [esp + 0x11c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret