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

Disassembly:
push 0x2c
mov eax, 0x10062818
call fcn.1005fed1
mov edi, ecx
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x18]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], ecx
cmp esi, 0x317
jne 0x1002e0eb
push eax
lea ecx, [edi - 0x18]
call fcn.100241d8
pop ecx
jmp case.0x1002e58d.33072
lea ebx, [edi - 0x18]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x14]
test eax, eax
je 0x1002e117
mov ecx, dword [ebp - 0x34]
mov edx, dword [eax]
push ecx
push dword [ebp - 0x30]
lea ecx, [edi + 0x3c]
push dword [ebp - 0x38]
push esi
push ecx
mov ecx, eax
call dword [edx + 4]
test eax, eax
jne case.0x1002e58d.33072
push dword [ebp + 0x1c]
push dword [ebp - 0x34]
push dword [ebp - 0x30]
push dword [ebp - 0x38]
push esi
push ecx
lea ecx, [edi + 4]
call fcn.1004d2f0
test eax, eax
jne case.0x1002e58d.33072
push dword [ebp - 0x30]
push dword [ebp - 0x38]
push esi
push ebx
call fcn.10026d9f
test eax, eax
jne case.0x1002e58d.33072
mov eax, 0x812e
cmp esi, eax
ja 0x1002e564
je 0x1002e532
cmp esi, 0x7b
ja 0x1002e3b3
je 0x1002eabf
cmp esi, 0x10
ja 0x1002e2c0
je 0x1002eb62
lea eax, [esi - 1]
sub eax, 1
je 0x1002e288
sub eax, 8
je 0x1002e9e5
sub eax, 1
je 0x1002e267
sub eax, 1
je 0x1002e222
sub eax, 1
je 0x1002e1cf
sub eax, 1
jne case.0x1002e58d.33072
mov ecx, dword [edi + 0xec]
test ecx, ecx
je 0x1002e1c3
mov eax, dword [ecx]
call dword [eax + 0x18]
mov ecx, eax
jmp 0x1002e1c5
xor ecx, ecx
mov eax, dword [ebp - 0x34]
mov dword [eax], ecx
jmp case.0x1002e58d.33072
xor ebx, ebx
mov dword [ebp - 0x18], 7
xor eax, eax
mov dword [ebp - 0x1c], ebx
mov word [ebp - 0x2c], ax
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 4
push eax
lea ecx, [edi + 0xec]
call fcn.1004e3db
cmp dword [ebp - 0x1c], ebx
je 0x1002e207
cmp dword [ebp - 0x18], 8
lea ebx, [ebp - 0x2c]
cmovae ebx, dword [ebp - 0x2c]
push 0xffffffffffffffff
push ebx
push dword [ebp - 0x38]
push dword [ebp - 0x30]
call sym.WCLDll.dll_at_wstr_ncpy
mov ecx, dword [ebp - 0x34]
add esp, 0x10
mov dword [ecx], eax
jmp 0x1002e746
push dword [ebp - 0x30]
lea ecx, [ebp - 0x2c]
call fcn.10050235
push dword [ebp - 0x38]
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x2c]
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0xc]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.10052bca
mov eax, dword [ebp - 0x34]
mov dword [eax], 1
mov edx, dword [ebx]
lea eax, [ebx + 0x5c]
push eax
mov ecx, ebx
call dword [edx + 0x24]
jmp case.0x1002e58d.33072
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x1002e277
and dword [edi + 0x40], 0xbfffffff
jmp 0x1002e27e
or dword [edi + 0x40], 0x40000000
test eax, eax
je case.0x1002e58d.33072
jmp 0x1002e257
mov ecx, dword [edi + 0xe8]
xor eax, eax
test ecx, ecx
je 0x1002e2a2
mov dword [edi + 0xe8], eax
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
xor eax, eax
mov ecx, dword [edi + 0xe4]
test ecx, ecx
je case.0x1002e58d.33072
mov dword [edi + 0xe4], eax
call fcn.10027bb0
jmp case.0x1002e58d.33072
cmp esi, 0x11
je 0x1002eb1f
cmp esi, 0x13
je 0x1002eb1f
cmp esi, 0x18
je 0x1002e9e5
cmp esi, 0x20
je 0x1002e4d6
cmp esi, 0x2d
jbe case.0x1002e58d.33072
cmp esi, 0x2f
jbe 0x1002e3a8
cmp esi, 0x47
jne case.0x1002e58d.33072
mov eax, dword [ebp - 0x30]
xor esi, esi
mov ecx, dword [eax + 0x18]
test cl, 2
jne 0x1002e343
movss xmm0, dword [eax + 0xc]
push 3
call fcn.1005ffe0
movzx esi, ax
mov eax, dword [ebp - 0x30]
shl esi, 0x10
movss xmm0, dword [eax + 8]
call fcn.1005ffe0
movzx eax, ax
mov ecx, ebx
or esi, eax
push esi
xor esi, esi
push esi
push 3
call fcn.1002f51c
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x18]
test cl, 1
jne 0x1002e37f
movss xmm0, dword [eax + 0x14]
push 3
call fcn.1005ffe0
movzx esi, ax
mov eax, dword [ebp - 0x30]
shl esi, 0x10
movss xmm0, dword [eax + 0x10]
call fcn.1005ffe0
movzx eax, ax
mov ecx, ebx
or esi, eax
push esi
xor esi, esi
push esi
push 5
call fcn.1002f51c
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x18]
test cl, 0xc0
je case.0x1002e58d.33072
mov eax, dword [edi + 0x88]
mov ecx, ebx
push esi
shr eax, 0x1c
push esi
and eax, 1
push eax
push 0x8190
call fcn.1002f762
jmp case.0x1002e58d.33072
mov eax, dword [ebp - 0x34]
or dword [eax], 0xffffffff
jmp case.0x1002e58d.33072
mov eax, 0x111
cmp esi, eax
ja 0x1002e453
je 0x1002eabf
cmp esi, 0x81
je 0x1002e9d7
cmp esi, 0xa1
je 0x1002e444
cmp esi, 0xa2
je 0x1002e437
cmp esi, 0xa3
je 0x1002e42a
cmp esi, 0xff
jbe case.0x1002e58d.33072
cmp esi, 0x108
jbe 0x1002e417
cmp esi, 0x110
jne case.0x1002e58d.33072
mov ecx, dword [ebp - 0x34]
xor eax, eax
inc eax
mov dword [ecx], eax
jmp 0x1002eb6c
push dword [ebp - 0x30]
mov ecx, ebx
push dword [ebp - 0x38]
push esi
call fcn.1002ebd4
jmp 0x1002e55a
push ecx
mov ecx, ebx
call fcn.1002ded8
jmp case.0x1002e58d.33072
push ecx
mov ecx, ebx
call fcn.1002de48
jmp case.0x1002e58d.33072
push dword [ebp - 0x30]
mov ecx, ebx
call fcn.1002ddc6
jmp case.0x1002e58d.33072
cmp esi, 0x112
je 0x1002e4ef
cmp esi, 0x20a
je 0x1002eabf
cmp esi, 0x210
je 0x1002eabf
cmp esi, 0x217
jbe case.0x1002e58d.33072
cmp esi, 0x219
jbe 0x1002eb1f
cmp esi, 0x2a8
je 0x1002e4af
cmp esi, 0x318
jne case.0x1002e58d.33072
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
jmp case.0x1002e58d.33072
test dword [edi + 0x88], 0x40000
je 0x1002e4d6
mov eax, dword [edi - 0xc]
mov ecx, ebx
mov eax, dword [eax + 8]
mov eax, dword [eax + 4]
push dword [eax + 0x48]
call fcn.100308dd
test eax, eax
jne 0x1002e40a
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x1002eb1f
mov eax, dword [ebp - 0x38]
cmp eax, 0xf060
jne 0x1002e508
push 3
xor eax, eax
mov ecx, ebx
push eax
push eax
push 0x10
jmp 0x1002e778
mov ecx, eax
and ecx, 0xfff0
cmp ecx, 0xf000
je 0x1002e524
cmp ecx, 0xf010
jne case.0x1002e58d.33072
mov edx, eax
mov ecx, ebx
call fcn.1002d45f
jmp case.0x1002e58d.33072
mov edx, dword [edi + 0x90]
mov ecx, edx
and ecx, 0x40000
neg ecx
sbb ecx, ecx
and ecx, 0x1a0002
mov eax, ecx
or eax, 0x1c0002
and edx, 0x4000
cmove eax, ecx
mov ecx, dword [ebp - 0x34]
mov dword [ecx], eax
jmp case.0x1002e58d.33072
mov eax, 0x8161
cmp esi, eax
ja 0x1002e859
je 0x1002eabf
add esi, 0xffff7ed1
cmp esi, 0x26
ja case.0x1002e58d.33072
movzx eax, byte [esi + 0x1002ebad]
jmp dword [eax*4 + 0x1002eb75]
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x1002e5b6
push eax
mov eax, dword [edi - 0xc]
mov ecx, dword [eax + 8]
mov ecx, dword [ecx + 4]
call fcn.100240d8
mov edx, eax
test edx, edx
je case.0x1002e58d.33072
jmp 0x1002e5bc
mov eax, dword [edi - 0xc]
mov edx, dword [eax + 8]
cmp dword [edi - 0x10], 0
push 0x60
pop ecx
mov eax, ecx
cmovne eax, dword [edi - 0x10]
xor esi, esi
test eax, eax
push esi
cmovne ecx, eax
push ecx
push dword [ebp - 0x38]
mov ecx, edx
push esi
call fcn.10028459
mov ecx, dword [edi + 0xe4]
mov dword [ebp - 0x38], eax
test ecx, ecx
je 0x1002e5f2
call fcn.10027bb0
mov eax, dword [ebp - 0x38]
push esi
mov ecx, ebx
mov dword [edi + 0xe4], eax
call fcn.10023e71
jmp 0x1002e40a
mov eax, dword [ebp - 0x30]
lea ecx, [edi + 0xe8]
cmp dword [ecx], eax
je 0x1002e40a
push eax
call fcn.1004d7f1
mov edx, dword [ebx]
lea eax, [ebx + 0x5c]
push eax
mov ecx, ebx
call dword [edx + 0x24]
jmp 0x1002e40a
mov ecx, dword [ebp - 0x30]
mov eax, dword [edi - 0xc]
test ecx, ecx
je 0x1002e64e
mov eax, dword [eax + 8]
push ecx
mov ecx, dword [eax + 4]
call fcn.100240d8
mov edx, eax
test edx, edx
je case.0x1002e58d.33072
jmp 0x1002e651
mov edx, dword [eax + 8]
xor eax, eax
mov dword [ebp - 0x30], eax
push 0x60
pop ecx
mov dword [ebp - 4], eax
mov eax, ecx
cmp dword [edi - 0x10], 0
cmovne eax, dword [edi - 0x10]
test eax, eax
cmovne ecx, eax
push ecx
push dword [ebp - 0x38]
lea ecx, [ebp - 0x30]
push edx
call fcn.1004d81f
mov esi, dword [ebp - 0x30]
lea ecx, [edi + 0xe8]
cmp dword [ecx], esi
je 0x1002e696
push esi
call fcn.1004d7f1
mov edx, dword [ebx]
lea eax, [ebx + 0x5c]
push eax
mov ecx, ebx
call dword [edx + 0x24]
xor ebx, ebx
inc ebx
mov dword [ebp - 4], ebx
test esi, esi
je 0x1002e6a6
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [ebp - 0x34]
mov dword [eax], ebx
mov eax, ebx
jmp 0x1002eb6c
mov eax, dword [edi + 0xe8]
jmp 0x1002e55a
lea eax, [edi + 0x98]
mov ecx, ebx
push eax
push dword [ebp - 0x30]
call fcn.1002d98a
test eax, eax
je 0x1002eb1f
push 1
push ebx
mov ecx, 0x1008914c
call fcn.10046250
jmp 0x1002eb1f
lea eax, [edi + 0xb0]
mov ecx, ebx
push eax
push dword [ebp - 0x30]
call fcn.1002d98a
jmp case.0x1002e58d.33072
and dword [ebp - 0x1c], 0
xor eax, eax
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 3
mov esi, dword [ebp - 0x30]
mov ecx, ebx
push eax
push esi
call fcn.1002d98a
mov ecx, dword [ebp - 0x34]
mov dword [ecx], eax
test eax, eax
je 0x1002e746
push dword [esi]
mov eax, dword [ebx]
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, ebx
call dword [eax + 0xc]
mov edx, dword [ebx]
lea eax, [ebx + 0x5c]
push eax
mov ecx, ebx
call dword [edx + 0x24]
lea ecx, [ebp - 0x2c]
call fcn.10052bca
jmp case.0x1002e58d.33072
test byte [edi + 0x8c], 0x10
je case.0x1002e58d.33072
mov ecx, dword [edi + 0x18]
test ecx, ecx
je case.0x1002e58d.33072
push 3
push dword [ebp - 0x30]
push dword [ebp - 0x38]
push 0x813f
call fcn.1002f51c
jmp case.0x1002e58d.33072
mov edx, dword [ebp - 0x38]
mov ecx, ebx
call fcn.1002715c
jmp 0x1002e55a
xor edx, edx
push 1
mov ecx, ebx
call fcn.10027686
pop ecx
jmp 0x1002e55a
xor edx, edx
inc edx
jmp 0x1002e793
mov eax, dword [edi - 0x10]
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0x34], eax
cmp esi, eax
je case.0x1002e58d.33072
push 0
mov ecx, ebx
mov dword [edi - 0x10], esi
call fcn.10023e71
push 3
push dword [ebp - 0x34]
mov ecx, ebx
push esi
push 0x8150
call fcn.1002f51c
mov esi, dword [edi + 0x1c]
jmp 0x1002e811
mov edi, esi
mov dword [ebp - 0x34], edi
test esi, esi
je 0x1002e7e8
lock inc dword [esi + 0x14]
push 3
mov dword [ebp - 4], 5
mov ecx, esi
push dword [ebp - 0x30]
push dword [ebp - 0x38]
push 0x8151
call fcn.1002f51c
mov esi, dword [esi + 0x38]
mov ecx, edi
or dword [ebp - 4], 0xffffffff
call fcn.10027bb0
test esi, esi
jne 0x1002e7db
jmp case.0x1002e58d.33072
mov esi, dword [edi + 0xe4]
test esi, esi
je 0x1002e846
mov eax, dword [esi + 0xc]
xor ecx, ecx
push ecx
push dword [ebp - 0x38]
push dword [esi + 4]
push ecx
mov ecx, dword [eax + 8]
call fcn.10028459
mov ecx, esi
mov dword [edi + 0xe4], eax
call fcn.10027bb0
push dword [ebp - 0x38]
lea ecx, [edi + 0xe8]
call fcn.10023b99
jmp case.0x1002e58d.33072
mov eax, 0x81ff
cmp esi, eax
ja 0x1002ea89
je 0x1002ea69
cmp esi, 0x8190
jb case.0x1002e58d.33072
cmp esi, 0x8191
jbe 0x1002e9e5
cmp esi, 0x81fa
je 0x1002e9a9
cmp esi, 0x81fb
je 0x1002e95a
cmp esi, 0x81fc
je 0x1002e91e
cmp esi, 0x81fd
je 0x1002e8f5
cmp esi, 0x81fe
jne case.0x1002e58d.33072
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
test dl, 8
je 0x1002e8cc
mov eax, dword [ecx + 0xc]
mov dword [edi + 0x80], eax
test dl, 4
je 0x1002e8d7
mov eax, dword [ecx + 8]
mov dword [edi + 0x7c], eax
test dl, 2
je 0x1002e8e2
mov eax, dword [ecx + 4]
mov dword [edi + 0x78], eax
test dl, 1
je case.0x1002e58d.33072
mov eax, dword [ecx]
mov dword [edi + 0x74], eax
jmp case.0x1002e58d.33072
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je case.0x1002e58d.33072
movsx eax, word [edi + 0x66]
movd xmm3, eax
movsx eax, word [edi + 0x68]
movd xmm2, eax
movsx eax, word [edi + 0x6a]
movd xmm1, eax
movsx eax, word [edi + 0x64]
jmp 0x1002e981
mov ecx, dword [ebp - 0x38]
test ecx, ecx
je case.0x1002e58d.33072
cvttss2si eax, dword [ecx]
push 0
mov word [edi + 0x64], ax
cvttss2si eax, dword [ecx + 8]
mov word [edi + 0x68], ax
cvttss2si eax, dword [ecx + 4]
mov word [edi + 0x66], ax
cvttss2si eax, dword [ecx + 0xc]
mov ecx, ebx
mov word [edi + 0x6a], ax
call fcn.1002f791
jmp case.0x1002e58d.33072
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je case.0x1002e58d.33072
movsx eax, word [edi + 0x6e]
movd xmm3, eax
movsx eax, word [edi + 0x70]
movd xmm2, eax
movsx eax, word [edi + 0x72]
movd xmm1, eax
movsx eax, word [edi + 0x6c]
movd xmm0, eax
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm3, xmm3
cvtdq2ps xmm0, xmm0
movss dword [ecx + 4], xmm3
movss dword [ecx], xmm0
movss dword [ecx + 8], xmm2
movss dword [ecx + 0xc], xmm1
jmp case.0x1002e58d.33072
mov ecx, dword [ebp - 0x38]
test ecx, ecx
je case.0x1002e58d.33072
cvttss2si eax, dword [ecx]
mov word [edi + 0x6c], ax
cvttss2si eax, dword [ecx + 8]
mov word [edi + 0x70], ax
cvttss2si eax, dword [ecx + 4]
mov word [edi + 0x6e], ax
cvttss2si eax, dword [ecx + 0xc]
mov word [edi + 0x72], ax
push 0
mov ecx, ebx
call fcn.10023e71
jmp case.0x1002e58d.33072
mov ecx, ebx
call fcn.100305e9
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x34], ecx
mov eax, dword [ecx]
call dword [eax + 0x50]
lea ecx, [edi - 0x18]
xor edi, edi
mov dword [ebp - 0x30], ecx
cmp eax, ecx
je 0x1002ea15
push eax
mov ecx, ebx
call fcn.100305ab
test eax, eax
je 0x1002ea1e
mov ecx, dword [ebp - 0x34]
push edi
mov eax, dword [ecx]
call dword [eax + 0x4c]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ecx]
call dword [eax + 0x58]
test eax, eax
je 0x1002ea44
cmp eax, dword [ebp - 0x30]
je 0x1002ea3b
push eax
mov ecx, ebx
call fcn.100305ab
test eax, eax
je 0x1002ea44
mov ecx, dword [ebp - 0x34]
push edi
mov eax, dword [ecx]
call dword [eax + 0x54]
cmp dword [ebp - 0x38], edi
jne case.0x1002e58d.33072
cmp esi, 0x8190
je 0x1002ea5e
cmp esi, 0x18
jne case.0x1002e58d.33072
push ebx
call fcn.100462b9
jmp case.0x1002e58d.33072
mov ecx, dword [ebp - 0x30]
mov eax, dword [edi + 0x80]
mov dword [ecx + 0xc], eax
mov eax, dword [edi + 0x7c]
mov dword [ecx + 8], eax
mov eax, dword [edi + 0x78]
mov dword [ecx + 4], eax
mov eax, dword [edi + 0x74]
jmp 0x1002e55d
sub esi, 0x820b
je 0x1002eb2a
sub esi, 7
je 0x1002eb00
sub esi, 1
je 0x1002eadd
sub esi, 0x13
je 0x1002eaba
sub esi, 0x2a
jne case.0x1002e58d.33072
mov eax, dword [edi + 0x40]
and eax, 0x2000000
jmp 0x1002e55a
mov esi, 0x111
mov ecx, dword [edi + 0x18]
test ecx, ecx
je case.0x1002e58d.33072
push 0
push dword [ebp - 0x30]
push dword [ebp - 0x38]
push esi
call fcn.1002f51c
jmp 0x1002e55a
cmp dword [ebp - 0x30], 0
je 0x1002eaf4
mov ecx, dword [ebp - 0x38]
lea eax, [edi + 0xc8]
push eax
call fcn.1001d474
jmp 0x1002eb1f
push dword [ebp - 0x38]
mov ecx, ebx
call fcn.1002f818
jmp 0x1002eb1f
push dword [ebp - 0x38]
lea ecx, [edi + 0xc8]
call fcn.1001d474
cmp dword [ebp - 0x30], 0
je 0x1002eb1f
mov edx, dword [ebx]
lea eax, [ebx + 0x5c]
push eax
mov ecx, ebx
call dword [edx + 0x24]
mov eax, dword [ebp - 0x34]
mov dword [eax], 1
jmp case.0x1002e58d.33072
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x1002eb62
cmp dword [eax + 4], 0x820d
jne 0x1002eb62
xor ecx, ecx
cmp dword [eax + 8], ecx
jne case.0x1002e58d.33072
mov eax, dword [ebx]
push 0x87
sub esp, 0x10
and dword [esp + 0xc], ecx
and dword [esp + 8], ecx
and dword [esp + 4], ecx
and dword [esp], ecx
push ecx
mov ecx, ebx
call dword [eax + 0x1c]
jmp case.0x1002e58d.33072
mov ecx, ebx
call fcn.1002f0fc
xor eax, eax
inc eax
call fcn.1005fe7b
ret 0x18