Function at 0x10232df
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x32c
push ebx
push esi
mov esi, dword [ebp + 8]
mov ax, word [esi + 6]
xor ebx, ebx
cmp ax, 2
push edi
mov dword [ebp - 4], ebx
mov dword [ebp - 0x18], ebx
je 0x1023ec2
cmp ax, 6
je 0x1023ec2
cmp dword [0x10378a8], 3
jg 0x10237aa
call fcn.010218ed
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x1001c8c
lea eax, [ebp - 0x10]
push eax
call edi
movzx eax, word [esi + 6]
mov dword [0x1039310], eax
mov ax, word [esi + 6]
cmp ax, 0x102
jne 0x1023352
movzx ecx, word [esi + 0x10]
cmp byte [ecx + esi + 4], bl
je 0x1023485
cmp ax, 0x203
je 0x1023485
cmp ax, 0x204
je 0x1023485
cmp ax, 0x106
je 0x1023485
cmp ax, 0x107
je 0x1023485
mov ax, word [esi + 0x10]
cmp ax, bx
jbe 0x1023485
movzx eax, ax
lea eax, [eax + esi + 4]
mov ebx, 0x1001d88
push ebx
mov dword [ebp + 8], eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push ebx
push dword [ebp + 8]
call dword [sym.imp.msvcrt.dll__strnicmp]
add esp, 0xc
test eax, eax
lea eax, [ebp - 0x124]
jne 0x10233cc
push 0x1001d9c
push eax
call edi
and dword [ebp - 0x1c], 0
lea eax, [ebp - 0x124]
mov dword [ebp + 8], eax
jmp 0x1023408
push dword [ebp + 8]
push eax
call edi
lea eax, [ebp - 0x124]
mov dword [ebp + 8], eax
lea eax, [ebp - 0x124]
push 0x3e
push eax
call dword [sym.imp.msvcrt.dll_strchr]
mov ebx, eax
test ebx, ebx
pop ecx
pop ecx
mov dword [ebp - 0x1c], ebx
je 0x1023408
push 9
lea eax, [ebx + 1]
push eax
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
and byte [ebx], 0
push 3
lea eax, [ebp - 0x123]
push 0x10022e8
push eax
call dword [sym.imp.msvcrt.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x1023433
lea eax, [ebp - 0x122]
push eax
lea eax, [ebp - 0x124]
push eax
call edi
cmp byte [ebp - 0x124], 0
je 0x1023514
push 0x2e
lea eax, [ebp - 0x124]
push eax
call fcn.01007321
test eax, eax
jne 0x1023514
lea eax, [ebp - 0x124]
push eax
lea eax, [ebp - 0x124]
push eax
call edi
push 0x1001d78
lea eax, [ebp - 0x124]
push eax
call fcn.0102941e
lea eax, [ebp - 0x124]
mov dword [ebp + 8], eax
jmp 0x1023514
movzx eax, word [esi + 6]
inc dword [0x10378a8]
cmp eax, 0x96
mov ebx, 0x108
jg 0x1023962
cmp eax, 0x95
jge 0x1023dcc
cmp eax, 8
jg 0x10237bc
jne 0x1023657
xor ebx, ebx
push ebx
push dword [ebp - 4]
push dword [esi + 8]
push 0x10022d4
call fcn.01022084
xor edi, edi
inc edi
cmp dword [0x1039560], ebx
mov dword [0x1039548], edi
jne 0x10237b1
push edi
push dword [esi + 8]
push ebx
push dword [ebp - 4]
call fcn.0101c874
test eax, eax
jne 0x10237b1
push ebx
call fcn.010295ea
mov eax, 0x6f19
cmp dword [esi + 8], eax
je 0x102378e
mov dword [ebp + 8], 0x1002080
mov dword [esi + 8], eax
xor ebx, ebx
mov dword [ebp - 4], ebx
call fcn.0100c715
cmp eax, ebx
mov dword [ebp - 0x20], eax
je 0x1023545
mov ecx, dword [ebp + 8]
cmp byte [ecx], bl
mov eax, dword [eax + 0xc]
jne 0x1023539
push dword [eax + 8]
call fcn.0100d6cd
jmp 0x1023542
push ecx
push dword [eax + 8]
call fcn.0100db7e
mov dword [ebp - 4], eax
cmp dword [ebp - 4], ebx
je 0x1023556
push dword [ebp - 4]
call fcn.0100d7be
test eax, eax
jne 0x102356e
push dword [ebp - 4]
call fcn.0100d744
push 0xb1
push dword [ebp + 8]
call fcn.0100e383
mov dword [ebp - 4], eax
cmp dword [ebp - 4], ebx
je 0x102357f
push dword [ebp - 4]
call fcn.0100d7be
test eax, eax
jne 0x10235f1
cmp dword [esi], ebx
je 0x10235f1
push dword [ebp - 4]
call fcn.0100d744
mov edi, 0x104
push edi
lea eax, [ebp - 0x228]
push eax
push dword [esi]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x10235b7
push edi
lea eax, [ebp - 0x228]
push eax
push dword [esi]
call fcn.0100c25a
test eax, eax
je 0x10235f1
push 0
lea eax, [ebp - 0x228]
push eax
call fcn.0100df3c
push 0xc
mov ebx, eax
push edi
lea eax, [ebp - 0x32c]
push eax
push dword [ebp + 8]
call fcn.0100dc41
lea eax, [ebp - 0x32c]
push eax
push ebx
call fcn.0100db7e
push ebx
mov dword [ebp - 4], eax
call fcn.0100d744
xor ebx, ebx
cmp dword [ebp - 4], ebx
je 0x1023606
push dword [ebp - 4]
call fcn.0100d7be
test eax, eax
jne 0x1023485
mov eax, dword [ebp + 8]
cmp byte [eax], 0
je 0x1023485
push dword [ebp - 4]
call fcn.0100d744
push 1
push dword [ebp + 8]
call fcn.0100e0ef
test eax, eax
mov dword [ebp - 4], eax
je 0x1023639
push eax
call fcn.0100d7be
test eax, eax
jne 0x1023485
push dword [ebp + 8]
push 1
push 0x80
call fcn.0102422d
cmp dword [ebp - 0x20], 0
jne 0x10237aa
jmp 0x10237a5
dec eax
je 0x1023738
dec eax
dec eax
je 0x1023722
dec eax
je 0x10236f7
dec eax
je 0x1023696
dec eax
dec eax
jne 0x1023eb2
mov eax, dword [0x1039478]
lea eax, [eax + eax*4]
push 1
shl eax, 4
push dword [eax + 0x1039580]
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x1023eb2
push 0
push dword [ebp - 4]
push dword [esi + 8]
push 0x10022c0
call fcn.01022084
call fcn.0100c715
mov edi, eax
test edi, edi
je 0x10236ce
push dword [ebp - 4]
push edi
call fcn.01025144
test eax, eax
je 0x10236ce
push dword [esi + 8]
push edi
call fcn.01017fa6
jmp 0x1023eb2
mov eax, dword [0x1039478]
lea eax, [eax + eax*4]
shl eax, 4
push dword [eax + 0x1039580]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x1023eb2
call fcn.01023ff1
jmp 0x1023eb2
push 0x10022ac
call fcn.01022031
mov eax, dword [0x1039478]
lea eax, [eax + eax*4]
shl eax, 4
push dword [eax + 0x1039584]
call fcn.0100c72a
push eax
call fcn.0102133a
jmp 0x1023eb2
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 4]
push 0x100229c
call fcn.01022111
jmp 0x102392b
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 4]
add esi, 8
push dword [esi]
push 0x100228c
call fcn.01022084
push 1
push 0
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.010223fe
test eax, eax
je 0x1023eb2
xor eax, eax
inc eax
push esi
push eax
mov dword [0x103952c], eax
call fcn.01022ee7
test eax, eax
jne 0x1023782
push eax
call fcn.010295ea
jmp 0x10237a5
and dword [0x103952c], 0
jmp 0x1023eb2
push edi
push 0x81
mov dword [0x1039548], ebx
call fcn.01024353
mov dword [0x1039548], edi
call fcn.0101a0b4
xor eax, eax
jmp 0x1023eee
mov dword [0x1039548], ebx
jmp 0x1023eb2
sub eax, 9
je 0x10238f6
dec eax
dec eax
je 0x10238e1
dec eax
dec eax
je 0x10238a6
dec eax
je 0x102387b
dec eax
jne 0x1023eb2
xor edi, edi
mov dword [0x1039478], edi
call fcn.01026a2e
mov eax, dword [0x1039580]
cmp eax, edi
je 0x1023801
push edi
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
xor ebx, ebx
inc ebx
push 0x103933c
mov dword [0x1039428], ebx
call fcn.0100d754
push dword [ebp - 4]
call fcn.0100d76d
push ebx
mov dword [0x103933c], eax
push edi
lea eax, [ebp - 4]
push eax
push 0x1001c88
call fcn.010223fe
test eax, eax
je 0x1023a46
cmp dword [0x10392e4], edi
jne 0x1023859
push edi
push edi
push dword [0x103933c]
call fcn.0102b7eb
push dword [0x1039584]
call fcn.0100c6e8
mov dword [0x1039428], edi
cmp word [esi + 6], 0xf
jne 0x1023871
mov eax, dword [esi + 8]
add eax, 3
mov dword [0x1039450], eax
call fcn.01008f04
jmp 0x1023eb2
call fcn.0102a9ff
xor esi, esi
push esi
push esi
push dword [ebp - 4]
call fcn.0102b7eb
cmp dword [0x10392e4], esi
jne 0x1023899
call fcn.0101a0b4
push dword [ebp - 4]
call fcn.0100d744
jmp 0x1023eb2
movsx eax, word [esi + 8]
mov dword [0x1039358], eax
movsx ecx, word [esi + 0xa]
push ecx
push eax
lea eax, [ebp - 0x1ec]
push 0x1002270
push eax
mov dword [0x103935c], ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [ebp - 0x1ec]
push eax
call fcn.01022031
jmp 0x1023eb2
xor edi, edi
push edi
push dword [ebp - 4]
push 0x1002264
call fcn.01022111
jmp 0x10237e5
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 4]
push 0x1002254
call fcn.01022111
lea eax, [ebp - 0x10]
push eax
call fcn.01027241
push eax
call fcn.0100c72a
test eax, eax
je 0x102392b
push dword [ebp - 4]
push eax
call fcn.01025144
test eax, eax
jne 0x1023899
push 1
push 0
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.010223fe
test eax, eax
je 0x1023eb2
and dword [ebp + 8], 0
lea eax, [ebp + 8]
push eax
push 2
call fcn.01022ee7
push 0x400
call fcn.010295ea
jmp 0x1023eb2
cmp eax, 0x107
mov edi, 0x201
jg 0x1023ac8
cmp eax, 0x106
jge 0x1023a86
cmp eax, 0x101
je 0x1023a75
mov ecx, 0x102
cmp eax, ecx
je 0x10239be
jle 0x1023eb2
cmp eax, 0x104
jle 0x1023dcc
cmp eax, 0x105
jne 0x1023eb2
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 4]
push 0x1002244
jmp 0x1023bf1
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 4]
push 0x1002234
call fcn.01022111
push 0x1002230
call fcn.01022031
movzx eax, word [esi + 0x12]
lea eax, [eax + esi + 4]
push eax
call fcn.01022031
push 0x1001db8
call fcn.01022031
xor edi, edi
cmp dword [0x10392e4], edi
mov dword [0x1039518], 1
jne 0x1023a0f
push edi
push edi
push dword [ebp - 4]
call fcn.0102b7eb
movzx eax, word [esi + 0x12]
push 4
lea eax, [eax + esi + 4]
push eax
push 0x1002228
call dword [sym.imp.msvcrt.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x1023a50
movzx eax, word [esi + 0x12]
movzx eax, byte [eax + esi + 8]
sub eax, 0x31
mov dword [esi + 8], eax
mov word [esi + 6], 0xf
jmp 0x10237e5
call fcn.0101a0b4
jmp 0x1023eb2
push 0x103933c
call fcn.0100d754
mov eax, dword [ebp - 4]
mov dword [0x103933c], eax
movzx eax, word [esi + 0x12]
lea eax, [eax + esi + 4]
push eax
call fcn.01004c50
jmp 0x1023eb2
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 4]
push 0x100221c
jmp 0x1023bf1
movzx eax, word [esi + 0x12]
lea ebx, [eax + esi + 4]
movsx eax, word [ebx]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov edi, eax
test edi, edi
je 0x1023eb2
push ebx
lea eax, [edi + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp word [esi + 6], 0x107
push edi
jne 0x1023ac4
push 1
call fcn.010272d3
jmp 0x1023eb2
push 2
jmp 0x1023aba
cmp eax, ebx
je 0x1023dcc
cmp eax, edi
je 0x1023be5
mov ecx, 0x202
cmp eax, ecx
je 0x1023bbc
jle 0x1023eb2
cmp eax, 0x204
jg 0x1023eb2
push 0x1002208
call fcn.01022031
movzx eax, word [esi + 0x12]
lea esi, [eax + esi + 4]
xor edi, edi
cmp word [esi + 2], di
lea eax, [esi + 0x18]
je 0x1023b16
lea eax, [esi + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 0xe
push eax
push edi
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
cmp word [esi + 2], di
mov ebx, eax
je 0x1023b45
movsx ecx, word [esi]
mov eax, ecx
shr ecx, 2
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x1023b7b
mov ax, word [esi + 4]
mov word [ebx + 2], ax
mov ax, word [esi + 8]
mov word [ebx + 4], ax
mov ax, word [esi + 0xc]
mov word [ebx + 6], ax
mov ax, word [esi + 0x10]
mov word [ebx + 8], ax
mov ax, word [esi + 0x14]
add esi, 0x18
mov word [ebx + 0xa], ax
push esi
lea eax, [ebx + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
movsx eax, word [ebx + 8]
push eax
movsx eax, word [ebx + 6]
push eax
movsx eax, word [ebx + 4]
push eax
movsx eax, word [ebx + 2]
push eax
lea eax, [ebx + 0xc]
push eax
lea eax, [ebp - 0x1ec]
push 0x10021f4
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x1c
lea eax, [ebp - 0x1ec]
push eax
call fcn.01022031
push ebx
push 3
jmp 0x1023aba
push 1
push 0
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.010223fe
test eax, eax
je 0x1023eab
movzx eax, word [esi + 0x12]
lea eax, [eax + esi + 6]
push eax
push 3
jmp 0x1023ea6
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 4]
push 0x10021e4
call fcn.01022111
xor ebx, ebx
cmp dword [ebp - 4], ebx
jne 0x1023c20
cmp dword [ebp + 8], ebx
je 0x1023c16
push dword [ebp + 8]
push 1
push 0x80
call fcn.0102422d
jmp 0x1023eb2
push 0x8a
jmp 0x1023d94
push dword [ebp - 4]
call fcn.0100d76d
push 0x103933c
mov dword [ebp - 0x18], eax
call fcn.0100d754
push dword [ebp - 0x18]
call fcn.0100d76d
push dword [0x1039580]
mov dword [0x103933c], eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x1023c80
push 0x1001c8c
call fcn.01027241
push eax
call fcn.0100c72a
cmp eax, ebx
je 0x1023c80
push dword [ebp - 4]
push eax
call fcn.01025144
test eax, eax
jne 0x1023c80
push ebx
push dword [0x1039580]
call dword [sym.imp.USER32.dll_ShowWindow]
xor ebx, ebx
inc ebx
mov dword [0x1039428], ebx
call fcn.0100c715
cmp dword [0x10392e4], 0
je 0x1023cb2
test eax, eax
je 0x1023ca8
push dword [ebp - 4]
push eax
call fcn.01025144
test eax, eax
jne 0x1023cb2
call fcn.0101a2cf
call fcn.0102a9ff
push ebx
push 0
lea eax, [ebp - 4]
push eax
push 0x1001c8c
call fcn.010223fe
xor eax, eax
cmp dword [0x10392e4], eax
mov dword [0x1039428], eax
jne 0x1023cdc
push eax
push ebx
push dword [ebp - 4]
call fcn.0102b7eb
lea eax, [ebp - 4]
push eax
call fcn.0100d754
cmp word [esi + 6], di
movzx eax, word [esi + 0x12]
lea ebx, [eax + esi + 4]
jne 0x1023d17
cmp word [ebx + 2], 0
je 0x1023d02
mov al, byte [ebx + 2]
add ebx, 3
jmp 0x1023d08
mov al, byte [ebx + 4]
add ebx, 5
movsx eax, al
push eax
call dword [sym.imp.USER32.dll_CharUpperA]
mov byte [ebp + 8], al
jmp 0x1023d37
push ebx
mov edi, 0x1037b78
push edi
mov byte [ebp + 8], 0x4b
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x3b
push edi
call fcn.01007321
test eax, eax
je 0x1023d37
and byte [eax], 0
push 0x10021e0
call fcn.01022031
push ebx
call fcn.01022031
push 0x10021dc
call fcn.01022031
cmp byte [ebx], 0
je 0x1023d87
mov ax, word [esi + 6]
cmp ax, 0x105
je 0x1023d6a
cmp ax, 0x201
je 0x1023d6a
xor eax, eax
jmp 0x1023d6d
push 0x10
pop eax
push dword [ebp - 0x1c]
or eax, 9
push dword [ebp + 8]
push 0
push eax
push ebx
call fcn.01030c47
test eax, eax
jne 0x1023eb2
cmp word [esi + 6], 0x201
jne 0x1023d9e
push 0x41d
call fcn.0101c283
jmp 0x1023eb2
xor esi, esi
inc esi
mov dword [0x1039450], esi
call fcn.0102e0b0
xor ecx, ecx
cmp dword [0x10392e4], ecx
je 0x1023dbe
cmp dword [0x103945c], ecx
jne 0x1023dc0
mov ecx, esi
push ecx
push eax
call fcn.0101e54a
jmp 0x1023eb2
mov ax, word [esi + 6]
cmp ax, 0x103
je 0x1023dec
cmp ax, 0x104
je 0x1023dec
cmp ax, bx
je 0x1023dec
mov eax, dword [esi + 8]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x14], eax
jmp 0x1023e0d
movzx eax, word [esi + 0x12]
lea edi, [eax + esi + 4]
push edi
call fcn.01008994
test eax, eax
je 0x1023e09
push edi
call fcn.010089ac
mov dword [ebp - 0x14], eax
jmp 0x1023e0d
and dword [ebp - 0x14], 0
mov ax, word [esi + 6]
cmp ax, 0x103
je 0x1023e33
cmp ax, 0x95
je 0x1023e33
cmp ax, bx
je 0x1023e33
push 5
push dword [ebp - 0x14]
push 0
push dword [ebp - 4]
call fcn.0101c874
jmp 0x1023eab
cmp dword [0x1037748], 2
jne 0x1023e8b
cmp ax, 0x95
jne 0x1023e45
mov edi, dword [ebp - 0x14]
cmp dword [0x1039368], 1
je 0x1023e69
mov eax, dword [0x1039380]
test eax, eax
je 0x1023e69
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x1023e69
mov eax, dword [0x1039380]
jmp 0x1023e6b
xor eax, eax
movzx ecx, word [esi + 6]
push edi
push ecx
push dword [ebp - 4]
push eax
call dword [sym.imp.USER32.dll_WinHelpA]
lea eax, [ebp - 4]
push eax
call fcn.0100d754
call fcn.0101a0b4
jmp 0x1023eab
push 1
push 0
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.010223fe
test eax, eax
je 0x1023eab
lea eax, [ebp - 0x14]
push eax
push 5
call fcn.01022ee7
and dword [0x1037c88], 0
push dword [ebp - 0x18]
dec dword [0x10378a8]
call fcn.0100d744
jmp 0x1023eeb
push 0x10021d0
call fcn.01022031
cmp dword [0x1039554], ebx
jne 0x1023eeb
push ebx
call fcn.0101dbce
test eax, eax
jge 0x1023ee6
cmp dword [0x1039580], ebx
je 0x1023eeb
call fcn.0101a0b4
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
leave
ret 4