Function at 0x497d10
Capabilities:
Enumerate pe sections
Get graphical window text

Disassembly:
mov eax, dword [0x65af54]
sub esp, 0xbc
and eax, 0xffff
push ebx
mov ebx, dword [esp + 0xd0]
push ebp
mov ebp, dword [esp + 0xcc]
push esi
push edi
mov edi, dword [esp + 0xd8]
cmp eax, 8
mov esi, ecx
ja case.0x497d44.1
jmp dword [eax*4 + 0x498434]
cmp dword [0x506390], 0x3fffffff
je 0x498107
mov eax, dword [0x65af3c]
mov ecx, esi
push eax
call fcn.00484750
push eax
call fcn.00485520
add esp, 4
mov ecx, esi
push eax
call fcn.00487a00
push eax
call fcn.00433030
mov edi, dword [esp + 0xd4]
add esp, 4
cmp word [esi + 0x96], ax
jne 0x497d9a
push edi
mov ecx, esi
call fcn.00493f00
mov ecx, dword [esp + 0xd4]
push ecx
mov ecx, esi
call fcn.00481a50
mov ebx, dword [esp + 0xdc]
mov ebp, eax
mov dword [esp + 0x1c], ebp
cmp word [ebp + 0x14], 1
je 0x497dc4
mov ebx, dword [esp + 0xd8]
push 1
push ebp
lea edx, [esp + 0x74]
push edi
push edx
mov ecx, esi
call fcn.0049dbb0
mov eax, dword [edi + 0x10]
push 0xa
push eax
call dword [sym.imp.GDI32.dll_SetROP2]
mov ecx, dword [0x506390]
push 0
push ecx
lea ecx, [esp + 0x74]
mov dword [esp + 0x20], eax
call fcn.00497b60
mov edx, dword [ebp]
mov eax, dword [0x506390]
push edx
push eax
lea ecx, [esp + 0x74]
call fcn.00497ba0
mov ecx, dword [esp + 0x18]
mov dword [0x506390], 0x3fffffff
mov edx, dword [edi + 0x10]
push ecx
push edx
call dword [sym.imp.GDI32.dll_SetROP2]
lea eax, [esp + 0x6c]
push edi
push eax
mov ecx, esi
call fcn.0049dc10
mov ecx, dword [0x65af3c]
push ecx
mov ecx, esi
call fcn.004af580
mov eax, dword [esi + 0x5b8]
mov edi, dword [esi + 0x418]
cdq
sub eax, edx
push 0
mov ebp, eax
mov eax, dword [0x65af3c]
push eax
push eax
mov ecx, esi
sar ebp, 1
call fcn.0049e6d0
mov edx, dword [0x65a3e0]
mov ecx, esi
push edx
call fcn.0048e760
mov edx, dword [0x65af48]
mov dword [esp + 0x14], eax
mov ax, word [esi + 0x5d2]
sub ebx, edx
cmp ax, 1
jne 0x497ea1
mov edx, dword [0x65a3f0]
xor ecx, ecx
mov cx, word [esi + 0x3ba]
sub ecx, edx
sub ecx, 2
mov dword [esp + 0x10], ecx
jmp 0x497eab
mov ecx, dword [0x65a3f0]
mov dword [esp + 0x10], ecx
test ecx, ecx
jge 0x497f5e
push edi
mov ecx, esi
call fcn.00484790
xor edx, edx
mov cx, word [esi + 0x5d2]
mov dx, word [eax + 6]
mov edi, dword [eax + edx*8 + 0x10]
mov word [esp + 0x2c], 0x7fe2
sub edi, ebp
sub edi, ebx
cmp cx, 1
jne 0x497edf
neg ebp
add ebx, ebp
cmp cx, 1
mov dword [esp + 0x2e], ebx
jne 0x497f15
mov ecx, dword [esp + 0x1c]
mov edi, dword [ecx + 4]
xor ecx, ecx
mov edx, edi
sub edx, ebx
xor ebx, ebx
mov dword [esp + 0x2e], edx
mov cx, word [eax + 4]
mov bx, word [eax + 6]
sub edi, edx
lea ecx, [ecx + ecx*2]
lea eax, [eax + ebx*8]
lea ecx, [ecx + ecx*4]
sub edi, dword [eax + ecx*2 - 0xa]
mov eax, dword [0x65af3c]
lea ecx, [esp + 0xb4]
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], eax
lea edx, [esp + 0x20]
push ecx
lea eax, [esp + 0x1c]
push edx
push eax
push 5
push 0
mov ecx, esi
call fcn.00495550
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
push 0
lea ecx, [esp + 0x30]
push 0
push ecx
push edx
push eax
mov ecx, esi
call fcn.00492330
jmp 0x498066
cmp ax, 1
push edi
mov ecx, esi
jne 0x497fd4
call fcn.00484790
xor ecx, ecx
push edi
mov cx, word [eax + 6]
mov edx, ecx
mov ecx, esi
mov dword [esp + 0x20], edx
call fcn.00484790
mov edx, dword [esp + 0x1c]
lea edx, [eax + edx*8 + 8]
mov eax, dword [esp + 0x14]
and eax, 0xffff
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*2]
mov ecx, dword [esi + 0x3e4]
mov eax, dword [ecx + eax*4 + 0xc]
mov ecx, dword [esp + 0x10]
lea ecx, [eax + ecx*4]
mov eax, dword [0x65a3f0]
lea eax, [eax + eax*2]
mov edi, dword [ecx]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*2 + 0x26]
sub eax, ebp
sub eax, ebx
add eax, edi
cmp eax, 0xfa0
jge 0x497fcb
mov eax, 0xfa0
sub edi, eax
mov dword [ecx], eax
jmp 0x498066
call fcn.00484790
xor ecx, ecx
push edi
mov cx, word [eax + 6]
mov edx, ecx
mov ecx, esi
mov dword [esp + 0x20], edx
call fcn.00484790
mov edx, dword [esp + 0x1c]
lea ecx, [eax + edx*8 + 8]
mov eax, dword [0x65a3f0]
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*2 + 0xc]
lea eax, [ecx + eax*2]
mov ecx, dword [eax + 8]
cmp ecx, edx
jne 0x49802e
mov eax, dword [esp + 0x14]
and eax, 0xffff
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
mov edx, dword [esi + 0x3e4]
mov eax, dword [edx + eax*4 + 0xc]
mov edx, dword [esp + 0x10]
sub ecx, dword [eax + edx*4]
sub ebx, ecx
sub ebx, ebp
cmp ebx, 0xfa0
jge 0x49803f
mov ebx, 0xfa0
mov eax, dword [esp + 0x14]
and eax, 0xffff
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov eax, dword [esi + 0x3e4]
mov ecx, dword [eax + edx*4 + 0xc]
mov edx, dword [esp + 0x10]
mov edi, dword [ecx + edx*4]
lea eax, [ecx + edx*4]
sub edi, ebx
mov dword [eax], ebx
test byte [esp + 0xe0], 1
je 0x498072
xor edi, edi
mov eax, dword [esp + 0x10]
test edi, edi
lea ebx, [eax + 1]
je 0x4980c7
mov eax, dword [esp + 0x14]
and eax, 0xffff
lea ecx, [eax + eax*4]
lea ebp, [eax + ecx*2]
shl ebp, 2
mov edx, dword [esi + 0x3e4]
xor ecx, ecx
mov cx, word [edx + ebp + 4]
lea eax, [edx + ebp]
cmp ebx, ecx
jge 0x4980c7
mov edx, dword [eax + 0xc]
mov eax, dword [edx + ebx*4]
lea edx, [edx + ebx*4]
lea ecx, [eax + edi]
cmp ecx, 0xfa0
jge 0x4980bc
mov ecx, 0xfa0
sub eax, ecx
mov dword [edx], ecx
add edi, eax
inc ebx
test edi, edi
jne 0x49808f
mov edi, dword [esp + 0xd0]
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 0x40]
push 0x3fffffff
mov ecx, esi
call fcn.00482260
push eax
mov ecx, esi
call fcn.0048f720
push 1
push edi
mov ecx, esi
call fcn.0049aa40
mov ecx, esi
call fcn.0049eb50
push 1
push edi
mov ecx, esi
call fcn.0049aa40
jmp 0x49810e
mov edi, dword [esp + 0xd0]
mov word [0x65af54], 0
cmp word [esi + 0x96], 0xffff
je case.0x497d44.0
mov ecx, dword [esi + 0xd8]
mov edx, dword [esi + 0xd4]
push 0x21
push ecx
push edx
push edi
mov ecx, esi
call fcn.00494a50
mov dword [esi + 0x90], eax
jmp case.0x497d44.0
mov eax, dword [esp + 0xd0]
mov ecx, esi
push eax
call fcn.0049c430
jmp case.0x497d44.0
mov ecx, dword [esi + 8]
mov edx, dword [esi + 4]
push ecx
push edx
call fcn.00412540
add esp, 8
mov ecx, esi
push eax
call fcn.004af580
mov ecx, dword [esi + 0x400]
mov edi, dword [esp + 0xd0]
lea eax, [esp + 0x20]
push eax
push 0x7f40
push ecx
push edi
mov ecx, esi
call fcn.0048e440
mov edx, dword [esi + 0x400]
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xd8]
push 0
push edx
push eax
push ecx
push 0x202
push edi
call fcn.0046a5d0
mov eax, dword [esi + 0x400]
lea edx, [esp + 0x38]
push edx
push eax
call fcn.0048e570
add esp, 0x20
mov ecx, esi
push 2
push edi
call fcn.00494050
jmp case.0x497d44.0
mov eax, dword [esi + 0xdc]
mov ebx, dword [esp + 0xd0]
cmp eax, 0xffffffff
je 0x4981f7
push eax
push ebx
mov ecx, esi
call fcn.0049c0c0
mov edx, dword [esi]
push ebx
mov ecx, esi
call dword [edx + 0x64]
push 0x1cf5
mov ecx, esi
call fcn.004850c0
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
push 1
push eax
push ecx
push 4
push ebx
mov ecx, esi
call fcn.004917e0
mov edi, dword [esi + 8]
mov ebp, dword [esi + 4]
mov edx, dword [0x506394]
lea eax, [esp + 0x10]
lea ecx, [esp + 0x14]
push eax
push ecx
push edi
push ebp
mov dword [esi + 0x10c], edx
mov dword [esp + 0x28], edi
call fcn.0048df70
add esp, 0x10
mov ecx, esi
push ebx
call fcn.00493f00
xor ecx, ecx
cmp word [esi + 0x3de], cx
jbe 0x498281
mov eax, ecx
and eax, 0xffff
inc ecx
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
mov edx, dword [esi + 0x3e4]
mov dword [edx + eax*4 + 0x28], 0xffffffff
cmp cx, word [esi + 0x3de]
jb 0x49825c
cmp dword [esi + 0xdc], 0xffffffff
je 0x49831e
mov ecx, esi
call fcn.00496b00
mov ecx, dword [0x65af5c]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x20]
push 5
push eax
push 0x1bed
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea edi, [esp + 0x20]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, ecx
inc eax
cmp eax, 4
jge 0x4982ea
mov ecx, 4
lea edi, [esp + eax + 0x20]
sub ecx, eax
xor eax, eax
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esi + 0xdc]
push eax
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0049d000
mov ecx, dword [0x65a2c0]
mov edi, dword [esp + 0x18]
or ecx, eax
mov dword [0x65a2c0], ecx
mov eax, dword [0x65a2c0]
test eax, eax
je 0x4983a4
mov edx, dword [esi]
push ebx
mov ecx, esi
call dword [edx + 0x40]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push 0
push eax
push ecx
mov ecx, esi
mov dword [esi + 0x408], 0xffffffff
call fcn.0049e6d0
mov edx, dword [esp + 0x14]
mov ecx, esi
push edx
call fcn.00484750
mov edi, eax
mov eax, dword [esp + 0x10]
push eax
mov ecx, esi
call fcn.00484770
push 1
push eax
push edi
mov ecx, esi
call fcn.004b21a0
mov ecx, dword [esp + 0x18]
push 0x65aea8
mov dword [0x65aeb4], ecx
push ebx
mov ecx, esi
mov dword [0x65aea8], 1
mov dword [0x65aeb0], ebp
call fcn.00491fe0
mov dword [0x65aea8], 0
jmp 0x4983b3
push 0x400
push edi
push ebp
push ebx
mov ecx, esi
call fcn.00494a50
mov edx, dword [0x65af5c]
xor eax, eax
push eax
push eax
push 0x110
push edx
mov word [0x65a29a], ax
mov word [0x65a2a8], ax
call dword [sym.imp.USER32.dll_SendMessageA]
jmp case.0x497d44.0
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xd4]
push eax
push ecx
push edx
jmp 0x49840e
mov cx, word [0x65ae9a]
mov edx, dword [esp + 0xd0]
push ecx
push ebx
push edi
push ebp
push edx
mov ecx, esi
call fcn.00496b50
push ebx
push edi
push ebp
mov eax, dword [esp + 0xdc]
mov ecx, esi
push eax
call fcn.004970e0
pop edi
pop esi
pop ebp
mov word [0x65af54], 0
pop ebx
add esp, 0xbc
ret 0x14