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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10058933
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x118
cmp byte [ebp + 8], 0
push ebx
push esi
push edi
mov byte [esp + 0x40], dl
je 0x1002dd57
cmp byte [ebp + 0xc], 0
je 0x1002dd45
mov esi, dword [ebp + 0x14]
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x1002dd3a
lea eax, [esp + 0x70]
xor ebx, ebx
push eax
push 0x1000
lea ecx, [esp + 0x4c]
mov dword [esp + 0x78], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
call fcn.1002ea4d
mov dword [esp + 0x12c], ebx
mov edi, 0x485f
mov eax, dword [esp + 0x48]
sub eax, dword [esp + 0x44]
push dword [esp + 0x44]
sar eax, 1
push eax
push edi
push 0xbb3a
call fcn.10022cc3
pop ecx
pop ecx
call eax
push dword [esp + 0x44]
lea ecx, [esp + 0x78]
call fcn.1000abb6
push 0x61e5
mov byte [esp + 0x130], 1
call fcn.1003d9f4
pop ecx
movzx eax, ax
mov dword [esp + 0x54], eax
lea eax, [esp + 0x74]
push eax
push 1
sub esp, 0x14
lea eax, [esp + 0x70]
push 0x5ab4
push ecx
push eax
call fcn.1002cb5f
add esp, 0x28
push 0xb93
push ecx
push ecx
push 1
push ecx
lea ecx, [esp + 0x88]
call fcn.1002ca3f
add esp, 0x14
lea eax, [esp + 0x74]
cmp dword [esp + 0x88], 8
cmovae eax, dword [esp + 0x74]
push ebx
push eax
push edi
push 0x5522
call fcn.10022cc3
pop ecx
pop ecx
call eax
push 0x2ef1
lea eax, [esp + 0x58]
mov dl, 1
push eax
push 0x48d8
push 0x7645
push 0x215c
push 1
push ebx
lea ecx, [esp + 0x90]
call fcn.1002d70b
add esp, 0x1c
mov dword [esp + 0x18], ebx
push 1
push 0x15f2
push 0x3edc
push ecx
push esi
lea ecx, [esp + 0x2c]
call fcn.1002cc72
add esp, 0x14
mov dword [esp + 0xc], ebx
mov dword [esp + 0x20], 0xb0020a00
mov dword [esp + 0x24], 0x24b036e
mov word [esp + 0x28], 0x11d
mov byte [esp + 0x2a], 0x1d
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x90]
call fcn.1000ab7b
push 0x10
pop edx
lea ecx, [esp + 0xf0]
mov byte [esp + 0x12c], 2
call fcn.1002f633
push 0x7101
lea eax, [esp + 0xf4]
mov byte [esp + 0x130], 3
push eax
push 1
push 0x5bd5
push 1
lea eax, [esp + 0xa0]
mov edx, 0x1999
push eax
push 1
mov ecx, 0x2ca4
call fcn.1002cccb
add esp, 0x1c
mov ecx, ebx
push 0x2e
pop eax
push 2
mov word [esp + 0x5c], ax
pop esi
cmp esi, 2
jne 0x1002d909
push 3
pop ecx
push ecx
pop esi
jmp 0x1002d932
movzx edx, byte [esp + esi + 0x21]
mov eax, esi
sub eax, ecx
movzx eax, byte [esp + eax + 0x1e]
movzx ecx, word [esp + eax*2 + 0x58]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [esp + esi + 0x20]
add ecx, edx
mov word [esp + eax*2 + 0x58], cx
mov ecx, ebx
add esi, 2
cmp esi, 0xb
jb 0x1002d8fd
xor eax, eax
mov dword [esp + 0xd0], 7
mov word [esp + 0x60], ax
lea ecx, [esp + 0xbc]
mov word [esp + 0xbc], ax
lea eax, [esp + 0x58]
push eax
mov dword [esp + 0xd0], ebx
call fcn.1000b09e
push ecx
push ecx
lea eax, [esp + 0xc4]
mov byte [esp + 0x134], 4
push eax
lea ecx, [esp + 0x98]
call fcn.1000f79c
push ebx
push 1
lea ecx, [esp + 0xc4]
mov byte [esp + 0x134], 3
call fcn.1000b1c0
push ebx
xor eax, eax
lea edi, [esp + 0x5c]
cmp dword [esp + 0xa4], 8
push 0x80
stosd dword es:[edi], eax
push 2
pop esi
push esi
stosd dword es:[edi], eax
push ebx
push ebx
push 0x40000000
stosw word es:[edi], ax
lea eax, [esp + 0xa4]
cmovae eax, dword [esp + 0xa4]
push eax
push 0x485f
push 0x6a67
call fcn.10022cc3
pop ecx
pop ecx
call eax
mov edi, eax
cmp edi, 0xffffffff
je 0x1002da33
push ebx
lea eax, [esp + 0xf0]
push eax
push dword [esp + 0x20]
mov eax, dword [ebp + 0x14]
push dword [eax]
push edi
push 0x485f
push 0xa1b4
call fcn.10022cc3
pop ecx
pop ecx
call eax
push edi
test eax, eax
push 0x485f
push 0xd4c0
setne bl
call fcn.10022cc3
pop ecx
pop ecx
call eax
test bl, bl
jne 0x1002da78
xor ebx, ebx
push ebx
push 1
lea ecx, [esp + 0xf8]
call fcn.1000b1c0
push ebx
push 1
lea ecx, [esp + 0x94]
mov byte [esp + 0x134], 1
call fcn.1000b1c0
mov edi, dword [esp + 0xc]
inc edi
mov dword [esp + 0xc], edi
cmp edi, 0x12c
jb 0x1002d88e
mov eax, dword [ebp + 0x18]
mov dword [eax], esi
jmp 0x1002dd23
push 0x22
pop edi
xor ebx, ebx
mov dword [esp + 0x10], 0xc802fd00
push 2
mov ecx, ebx
mov byte [esp + 0x18], 0x25
mov word [esp + 0x20], di
pop esi
mov dword [esp + 0x3c], ecx
cmp esi, 2
jne 0x1002daa8
push 3
pop ecx
push ecx
mov dword [esp + 0x40], ecx
pop esi
jmp 0x1002dae1
movzx edx, byte [esp + esi + 0x11]
mov eax, esi
sub eax, ecx
movzx eax, byte [esp + eax + 0xe]
movzx eax, word [esp + eax*2 + 0x1c]
mov ecx, eax
and eax, edx
or ecx, edx
sub ecx, eax
movzx eax, byte [esp + esi + 0x10]
mov word [esp + eax*2 + 0x1c], cx
lea eax, [esp + 0x3c]
push eax
push ecx
push 1
call fcn.1002d4e1
mov ecx, dword [esp + 0x48]
add esp, 0xc
add esi, 2
cmp esi, 5
jb 0x1002da98
xor eax, eax
mov dword [esp + 0xb8], 7
mov word [esp + 0x1e], ax
lea ecx, [esp + 0xa4]
mov word [esp + 0xa4], ax
lea eax, [esp + 0x1c]
push eax
mov dword [esp + 0xb8], ebx
call fcn.1000b09e
push ecx
push ecx
lea eax, [esp + 0x94]
mov byte [esp + 0x134], 5
push eax
lea ecx, [esp + 0xb0]
mov dword [esp + 0x28], ebx
call fcn.1000f79c
mov dword [esp + 0x2c], 0x49042a00
mov dword [esp + 0x30], 0x2e779d3
mov dword [esp + 0x34], 0x30f010d
mov byte [esp + 0x38], 0x73
mov word [esp + 0x64], di
mov dword [esp + 0x50], 0x3242
cmp dword [esp + 0x50], 0x32b7
jle 0x1002dbdf
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
mov edi, ebx
mov esi, ebx
mov ecx, ebx
mov dword [esp + 0xc], 0x6d11
mov dword [esp + 0x18], ecx
mov eax, edi
shl eax, cl
lea ecx, [esp + 0x108]
cdq
push edx
push eax
call fcn.10002548
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1002dba7
mov eax, dword [eax]
push eax
call fcn.10040f4c
pop ecx
push ebx
push 1
lea ecx, [esp + 0x110]
call fcn.1000afb2
mov ecx, dword [esp + 0x18]
add ecx, esi
dec dword [esp + 0xc]
mov dword [esp + 0x18], ecx
jne 0x1002db8a
inc esi
cmp esi, 0x3428
jl 0x1002db7c
inc edi
cmp edi, 0x4a78
jl 0x1002db7a
push 2
mov ecx, ebx
pop esi
mov dword [esp + 0xc], ecx
cmp esi, 2
jne 0x1002dbf8
push 5
pop ecx
push ecx
mov dword [esp + 0x10], ecx
pop esi
jmp 0x1002dc48
movzx edx, byte [esp + esi + 0x2d]
mov eax, esi
sub eax, ecx
push 1
movzx eax, byte [esp + eax + 0x2e]
movzx eax, word [esp + eax*2 + 0x68]
mov ecx, eax
and eax, edx
or ecx, edx
mov dl, 1
sub ecx, eax
movzx eax, byte [esp + esi + 0x30]
mov word [esp + eax*2 + 0x68], cx
lea eax, [esp + 0x10]
push eax
push 0x2920
push 0x678b
push 0x65f3
push 0x3998
mov cl, dl
call fcn.1002d5d9
mov ecx, dword [esp + 0x24]
add esp, 0x18
add esi, 2
cmp esi, 0xd
jb 0x1002dbe8
cmp dword [esp + 0x50], 0x317c
jge 0x1002dc65
push str.xlzeds_frwi_wzwj_gkizrquhg_ovsqlcbso_qqsdkgsft_ysfdigci
call fcn.10040f4c
pop ecx
mov dword [esp + 0x12c], 5
lea ecx, [esp + 0xd4]
xor eax, eax
mov dword [esp + 0xe8], 7
mov word [esp + 0x6c], ax
mov word [esp + 0xd4], ax
lea eax, [esp + 0x64]
push eax
mov dword [esp + 0xe8], ebx
call fcn.1000b09e
push ecx
push ecx
lea eax, [esp + 0xdc]
mov byte [esp + 0x134], 8
push eax
lea ecx, [esp + 0xb0]
call fcn.1000f79c
push ebx
push 1
lea ecx, [esp + 0xdc]
mov byte [esp + 0x134], 5
call fcn.1000b1c0
xor eax, eax
lea edi, [esp + 0x64]
stosd dword es:[edi], eax
lea edx, [esp + 0x74]
lea ecx, [esp + 0xa4]
stosd dword es:[edi], eax
stosw word es:[edi], ax
call fcn.1002ba7f
mov ecx, dword [ebp + 0x18]
push ebx
push 1
mov dword [ecx], eax
lea ecx, [esp + 0xac]
call fcn.1000b1c0
push ebx
push 1
lea ecx, [esp + 0xf8]
call fcn.1000b1c0
push ebx
push 1
lea ecx, [esp + 0x94]
call fcn.1000b1c0
push ebx
push 1
lea ecx, [esp + 0x7c]
call fcn.1000b1c0
lea ecx, [esp + 0x44]
call fcn.10028fb1
jmp 0x1002dd8d
mov eax, dword [ebp + 0x18]
mov dword [eax], 1
jmp 0x1002dd8d
xor ebx, ebx
push ebx
push ebx
push 0x128e
push ebx
call dword [sym.imp.USER32.dll_GetMenuItemInfoW]
jmp 0x1002dd8d
test dl, dl
je 0x1002dd6a
mov eax, dword [ebp + 0x1c]
movzx eax, word [eax]
push eax
push ecx
call fcn.10024879
jmp 0x1002dd8d
mov edx, dword [ebp + 0x10]
mov dword [edx], 0
cmp dword [edx], 2
jge 0x1002dd8d
mov esi, dword [ebp + 0x20]
mov ecx, dword [edx]
mov eax, dword [esi]
mov dword [eax + ecx*4], 0xea75c96
inc dword [edx]
cmp dword [edx], 2
jl 0x1002dd7b
mov ecx, dword [esp + 0x124]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret