Function at 0x40c2c8
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffc20
cmp dword [0x4dcc48], 0
push ebx
push esi
push edi
jne 0x40c2e4
xor eax, eax
jmp 0x40dab5
cmp dword [0x4cd304], 0
jne 0x40c2f4
xor eax, eax
jmp 0x40dab5
cmp dword [ebp + 0xc], 0
je 0x40c308
mov edx, dword [ebp + 0xc]
cmp byte [edx], 0
je 0x40c308
cmp dword [ebp + 0x18], 0
jne 0x40c30f
xor eax, eax
jmp 0x40dab5
xor edx, edx
xor eax, eax
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x14], eax
xor edi, edi
cmp dword [ebp + 0x20], 0
je 0x40c328
mov edx, dword [ebp + 0x20]
xor ecx, ecx
mov dword [edx], ecx
mov eax, dword [ebp + 0xc]
push eax
call fcn.004a36d4
pop ecx
mov esi, eax
test esi, esi
jle 0x40c47f
mov eax, dword [ebp + 0xc]
xor edx, edx
mov dl, byte [eax + esi - 1]
cmp edx, 0x7d
jne 0x40c47f
sub esi, 2
mov ecx, dword [ebp + 0xc]
lea ebx, [ecx + esi]
jmp 0x40c35b
dec esi
dec ebx
test esi, esi
jle 0x40c368
xor eax, eax
mov al, byte [ebx]
cmp eax, 0x7b
jne 0x40c359
test esi, esi
jle 0x40c47f
mov edx, dword [ebp + 0xc]
xor ecx, ecx
mov cl, byte [edx + esi]
cmp ecx, 0x7b
jne 0x40c47f
mov eax, dword [ebp + 0xc]
mov byte [eax + esi], 0
inc esi
cmp dword [0x4d9218], 0
je 0x40c47f
cmp dword [ebp + 0x14], 0
jne 0x40c47f
mov dword [ebp + 0x14], 1
mov dword [ebp - 0xc], 1
mov edx, dword [ebp + 0xc]
xor ecx, ecx
mov cl, byte [edx + esi]
cmp ecx, 0x5b
jne 0x40c3c1
mov edi, 1
inc esi
mov eax, dword [ebp + 0xc]
xor edx, edx
mov dl, byte [eax + esi]
cmp edx, 0x2b
jne 0x40c3f2
inc esi
mov ecx, dword [ebp + 8]
push ecx
call sym.ollydbg.exe__Findmodule
pop ecx
mov ebx, eax
test ebx, ebx
jne 0x40c3eb
xor eax, eax
mov dword [ebp + 0x14], eax
xor edx, edx
mov dword [ebp - 0xc], edx
jmp 0x40c3f7
mov ecx, dword [ebx]
mov dword [ebp - 0x24], ecx
jmp 0x40c3f7
xor eax, eax
mov dword [ebp - 0x24], eax
xor edx, edx
mov dword [ebp + 0x10], edx
mov ecx, dword [ebp + 0xc]
lea ebx, [ecx + esi]
jmp 0x40c439
mov eax, dword [ebp + 0x10]
shl eax, 4
mov dword [ebp + 0x10], eax
xor edx, edx
mov dl, byte [ebx]
push edx
call fcn.004a7bbc
pop ecx
test eax, eax
je 0x40c428
xor ecx, ecx
mov cl, byte [ebx]
add ecx, 0xffffffd0
add dword [ebp + 0x10], ecx
jmp 0x40c438
movzx esi, byte [ebx]
push esi
call fcn.004a98c8
pop ecx
add eax, 0xffffffc9
add dword [ebp + 0x10], eax
inc ebx
xor eax, eax
mov al, byte [ebx]
push eax
call fcn.004a7c50
pop ecx
test eax, eax
jne 0x40c404
mov edx, dword [ebp - 0x24]
add dword [ebp + 0x10], edx
test edi, edi
je 0x40c47f
push 3
push 4
mov ecx, dword [ebp + 0x10]
push ecx
lea eax, [ebp - 0x1c]
push eax
call sym.ollydbg.exe__Readmemory
add esp, 0x10
mov edi, eax
cmp edi, 4
jne 0x40c475
mov eax, dword [ebp - 0x1c]
mov dword [ebp + 0x10], eax
jmp 0x40c47f
xor edx, edx
xor ecx, ecx
mov dword [ebp + 0x14], edx
mov dword [ebp - 0xc], ecx
xor edi, edi
mov eax, dword [ebp + 0xc]
mov ebx, eax
mov al, byte [ebx]
test al, al
je 0x40c4a8
xor edx, edx
mov dl, al
cmp edx, 0x3a
je 0x40c4a8
xor ecx, ecx
mov cl, al
cmp ecx, 0x3d
je 0x40c4a8
inc edi
inc ebx
cmp edi, 0xfe
jl 0x40c486
mov eax, dword [ebp + 0x18]
xor edx, edx
xor ecx, ecx
mov byte [eax], 0
mov dword [ebp - 4], edx
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp + 0xc]
xor edx, edx
mov dl, byte [eax + edi]
cmp edx, 0x3a
jne 0x40c514
mov ecx, dword [ebp + 0xc]
mov byte [ecx + edi], 0
mov eax, dword [ebp + 0xc]
cmp byte [eax + edi + 1], 0
jne 0x40c4e0
cmp dword [ebp - 0xc], 0
je 0x40c563
cmp dword [ebp - 0xc], 0
je 0x40c4ed
mov edx, 0x4b1405
jmp 0x40c4f2
mov edx, 0x4b1408
push edx
add edi, dword [ebp + 0xc]
inc edi
push edi
push 0x4b13fe
mov eax, dword [ebp + 0x18]
push eax
call fcn.004a6c2c
add esp, 0x10
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x18], ecx
jmp 0x40c563
mov eax, dword [ebp + 0xc]
xor edx, edx
mov dl, byte [eax + edi]
cmp edx, 0x3d
jne 0x40c563
mov ecx, dword [ebp + 0xc]
cmp byte [ecx + edi + 1], 0
jne 0x40c531
cmp dword [ebp - 0xc], 0
je 0x40c563
cmp dword [ebp - 0xc], 0
je 0x40c53e
mov eax, 0x4b1405
jmp 0x40c543
mov eax, 0x4b1408
push eax
add edi, dword [ebp + 0xc]
inc edi
push edi
push 0x4b13fe
mov edx, dword [ebp + 0x18]
push edx
call fcn.004a6c2c
add esp, 0x10
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x18], ecx
cmp dword [ebp + 0x14], 0
je case.0x40c597.65
mov eax, dword [ebp + 0xc]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x3d
jne 0x40d230
mov ecx, dword [ebp + 0xc]
xor eax, eax
mov al, byte [ecx]
add eax, 0xffffffbf
cmp eax, 0x36
ja case.0x40c597.65
mov al, byte [eax + 0x40c59e]
jmp dword [eax*4 + 0x40c5d5]
cmp dword [ebp + 0x10], 9
ja 0x40c64f
mov edx, dword [ebp + 0x10]
push edx
push 0x4b140a
mov ecx, dword [ebp + 0x18]
add ecx, dword [ebp - 4]
push ecx
call fcn.004a6c2c
add esp, 0xc
add dword [ebp - 4], eax
jmp case.0x40c597.65
mov eax, dword [ebp + 0x10]
push eax
mov edx, dword [ebp + 0x10]
push edx
push str._lX___li._
mov ecx, dword [ebp + 0x18]
add ecx, dword [ebp - 4]
push ecx
call fcn.004a6c2c
add esp, 0x10
add dword [ebp - 4], eax
jmp case.0x40c597.65
cmp dword [ebp + 0x10], 9
ja 0x40c699
mov eax, dword [ebp + 0x10]
push eax
push 0x4b140a
mov edx, dword [ebp + 0x18]
add edx, dword [ebp - 4]
push edx
call fcn.004a6c2c
add esp, 0xc
add dword [ebp - 4], eax
jmp case.0x40c597.65
mov ecx, dword [ebp + 0x10]
push ecx
mov eax, dword [ebp + 0x10]
push eax
push str._lX___lu._
mov edx, dword [ebp + 0x18]
add edx, dword [ebp - 4]
push edx
call fcn.004a6c2c
add esp, 0x10
add dword [ebp - 4], eax
jmp case.0x40c597.65
mov ecx, dword [ebp + 0x10]
push ecx
push 0x4b140a
mov eax, dword [ebp + 0x18]
add eax, dword [ebp - 4]
push eax
call fcn.004a6c2c
add esp, 0xc
add dword [ebp - 4], eax
jmp case.0x40c597.65
mov dl, byte [ebp + 0x10]
mov byte [ebp - 0x2d], dl
xor ecx, ecx
mov cl, byte [ebp - 0x2d]
push ecx
push 0x4b1424
mov eax, dword [ebp + 0x18]
add eax, dword [ebp - 4]
push eax
call fcn.004a6c2c
add esp, 0xc
add dword [ebp - 4], eax
xor edx, edx
mov dl, byte [ebp - 0x2d]
push edx
mov ecx, dword [ebp + 0x18]
add ecx, dword [ebp - 4]
push ecx
call sym.ollydbg.exe__Decodecharacter
add esp, 8
add dword [ebp - 4], eax
jmp case.0x40c597.65
mov eax, dword [ebp + 0x10]
and eax, 0xffff
push eax
push 0x4b142a
mov edx, dword [ebp + 0x18]
add edx, dword [ebp - 4]
push edx
call fcn.004a6c2c
add esp, 0xc
add dword [ebp - 4], eax
test byte [ebp + 0x11], 0xff
jne case.0x40c597.65
mov ecx, dword [ebp + 0x10]
push ecx
mov eax, dword [ebp + 0x18]
add eax, dword [ebp - 4]
push eax
call sym.ollydbg.exe__Decodecharacter
add esp, 8
add dword [ebp - 4], eax
jmp case.0x40c597.65
cmp dword [ebp + 0x10], 0
jne 0x40c784
push str.FALSE
mov edx, dword [ebp + 0x18]
add edx, dword [ebp - 4]
push edx
call fcn.004a6c2c
add esp, 8
add dword [ebp - 4], eax
jmp case.0x40c597.65
push str.TRUE
mov ecx, dword [ebp + 0x18]
add ecx, dword [ebp - 4]
push ecx
call fcn.004a6c2c
add esp, 8
add dword [ebp - 4], eax
jmp case.0x40c597.65
cmp dword [ebp + 0x10], 0
jne 0x40c7c2
push 0x4b13e3
mov eax, dword [ebp + 0x18]
add eax, dword [ebp - 4]
push eax
call fcn.004a6c2c
add esp, 8
add dword [ebp - 4], eax
jmp case.0x40c597.65
push 0
mov edx, 0x100
sub edx, dword [ebp - 4]
dec edx
push edx
mov ecx, dword [ebp + 0x18]
add ecx, dword [ebp - 4]
push ecx
push 0x80
push 0
mov eax, dword [ebp + 0x10]
push eax
call sym.ollydbg.exe__Decodeaddress
add esp, 0x18
add dword [ebp - 4], eax
jmp case.0x40c597.65
cmp dword [ebp + 0x10], 0
jne 0x40c812
push 0x4b13e3
mov edx, dword [ebp + 0x18]
add edx, dword [ebp - 4]
push edx
call fcn.004a6c2c
add esp, 8
add dword [ebp - 4], eax
jmp case.0x40c597.65
cmp dword [ebp + 0x10], 6
jne 0x40c834
push str.INVALID_HANDLE
mov ecx, dword [ebp + 0x18]
add ecx, dword [ebp - 4]
push ecx
call fcn.004a6c2c
add esp, 8
add dword [ebp - 4], eax
jmp case.0x40c597.65
mov eax, dword [ebp + 0x10]
push eax
push 0x4b144a
mov edx, dword [ebp + 0x18]
add edx, dword [ebp - 4]
push edx
call fcn.004a6c2c
add esp, 0xc
add dword [ebp - 4], eax
mov ecx, dword [ebp + 0x10]
push ecx
call sub.GDI32.DLL_GetObjectType
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cmp eax, 0xd
ja case.0x40c597.65
jmp dword [eax*4 + 0x40c86e]
mov edx, dword [ebp + 0x10]
push edx
call sub.USER32.DLL_IsWindow
test eax, eax
je case.0x40c597.65
push str.__window_
mov ecx, dword [ebp + 0x18]
add ecx, dword [ebp - 4]
push ecx
call fcn.004a6c2c
add esp, 8
add dword [ebp - 4], eax
jmp case.0x40c597.65
push str.__bitmap_
mov eax, dword [ebp + 0x18]
add eax, dword [ebp - 4]
push eax
call fcn.004a6c2c
add esp, 8
add dword [ebp - 4], eax
jmp case.0x40c597.65
push str.__brush_
mov edx, dword [ebp + 0x18]
add edx, dword [ebp - 4]
push edx
call fcn.004a6c2c
add esp, 8
add dword [ebp - 4], eax
jmp case.0x40c597.65
push str.__font_
mov ecx, dword [ebp + 0x18]
add ecx, dword [ebp - 4]
push ecx
call fcn.004a6c2c
add esp, 8
add dword [ebp - 4], eax
jmp case.0x40c597.65
push str.__palette_
mov eax, dword [ebp + 0x18]
add eax, dword [ebp - 4]
push eax
call fcn.004a6c2c
add esp, 8
add dword [ebp - 4], eax
jmp case.0x40c597.65
push str.__pen_
mov edx, dword [ebp + 0x18]
add edx, dword [ebp - 4]
push edx
call fcn.004a6c2c
add esp, 8
add dword [ebp - 4], eax
jmp case.0x40c597.65
push str.__ExtPen_
mov ecx, dword [ebp + 0x18]
add ecx, dword [ebp - 4]
push ecx
call fcn.004a6c2c
add esp, 8
add dword [ebp - 4], eax
jmp case.0x40c597.65
push str.__region_
mov eax, dword [ebp + 0x18]
add eax, dword [ebp - 4]
push eax
call fcn.004a6c2c
add esp, 8
add dword [ebp - 4], eax
jmp case.0x40c597.65
push str.__DC_
mov edx, dword [ebp + 0x18]
add edx, dword [ebp - 4]
push edx
call fcn.004a6c2c
add esp, 8
add dword [ebp - 4], eax
jmp case.0x40c597.65
push str.__memory_DC_
mov ecx, dword [ebp + 0x18]
add ecx, dword [ebp - 4]
push ecx
call fcn.004a6c2c
add esp, 8
add dword [ebp - 4], eax
jmp case.0x40c597.65
push str.__metafile_
mov eax, dword [ebp + 0x18]
add eax, dword [ebp - 4]
push eax
call fcn.004a6c2c
add esp, 8
add dword [ebp - 4], eax
jmp case.0x40c597.65
push str.__metafile_DC_
mov edx, dword [ebp + 0x18]
add edx, dword [ebp - 4]
push edx
call fcn.004a6c2c
add esp, 8
add dword [ebp - 4], eax
jmp case.0x40c597.65
push str.__EnhMetafile_
mov ecx, dword [ebp + 0x18]
add ecx, dword [ebp - 4]
push ecx
call fcn.004a6c2c
add esp, 8
add dword [ebp - 4], eax
jmp case.0x40c597.65
push str.__EnhMetafile_DC_
mov eax, dword [ebp + 0x18]
add eax, dword [ebp - 4]
push eax
call fcn.004a6c2c
add esp, 8
add dword [ebp - 4], eax
jmp case.0x40c597.65
push 2
mov edx, 0x100
sub edx, dword [ebp - 4]
dec edx
push edx
mov ecx, dword [ebp + 0x18]
add ecx, dword [ebp - 4]
push ecx
mov eax, dword [ebp + 0x10]
push eax
call sym.ollydbg.exe__Decodeascii
add esp, 0x10
add dword [ebp - 4], eax
jmp case.0x40c597.65
push 0
mov edx, 0x100
sub edx, dword [ebp - 4]
dec edx
push edx
mov ecx, dword [ebp + 0x18]
add ecx, dword [ebp - 4]
push ecx
mov eax, dword [ebp + 0x10]
push eax
call sym.ollydbg.exe__Decodeascii
add esp, 0x10
add dword [ebp - 4], eax
jmp case.0x40c597.65
mov edx, 0x100
sub edx, dword [ebp - 4]
dec edx
push edx
mov ecx, dword [ebp + 0x18]
add ecx, dword [ebp - 4]
push ecx
mov eax, dword [ebp + 0x10]
push eax
call sym.ollydbg.exe__Decodeunicode
add esp, 0xc
add dword [ebp - 4], eax
jmp case.0x40c597.65
mov edx, dword [ebp + 8]
push edx
call sym.ollydbg.exe__Findmodule
pop ecx
mov ebx, eax
test ebx, ebx
je 0x40cb09
lea eax, [ebp - 0x134]
push eax
mov edx, dword [ebp + 0x10]
push edx
push ebx
call sym.ollydbg.exe__Getresourcestring
add esp, 0xc
test eax, eax
je 0x40cb09
lea ecx, [ebp - 0x134]
push ecx
mov eax, 0x100
sub eax, dword [ebp - 4]
add eax, 0xfffffff6
push eax
push str.STRING___.s_
mov edx, dword [ebp + 0x18]
add edx, dword [ebp - 4]
push edx
call fcn.004a6c2c
add esp, 0x10
add dword [ebp - 4], eax
jmp case.0x40c597.65
cmp dword [ebp + 0x10], 9
ja 0x40cb2f
mov ecx, dword [ebp + 0x10]
push ecx
push 0x4b140a
mov eax, dword [ebp + 0x18]
add eax, dword [ebp - 4]
push eax
call fcn.004a6c2c
add esp, 0xc
add dword [ebp - 4], eax
jmp case.0x40c597.65
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp + 0x10]
push ecx
push str._lX___li._
mov eax, dword [ebp + 0x18]
add eax, dword [ebp - 4]
push eax
call fcn.004a6c2c
add esp, 0x10
add dword [ebp - 4], eax
jmp case.0x40c597.65
push dword [ebp + 0x10]
mov ecx, dword [ebp + 0x18]
add ecx, dword [ebp - 4]
push ecx
call sym.ollydbg.exe__Printfloat4
add esp, 8
add dword [ebp - 4], eax
jmp case.0x40c597.65
mov eax, dword [ebp + 0x10]
push eax
push 2
call fcn.0040f1e4
add esp, 8
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
jne 0x40cba8
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp + 0x10]
push ecx
push str._lX___li._
mov eax, dword [ebp + 0x18]
add eax, dword [ebp - 4]
push eax
call fcn.004a6c2c
add esp, 0x10
add dword [ebp - 4], eax
jmp case.0x40c597.65
mov edx, dword [ebp - 0x34]
push edx
mov ecx, 0x100
sub ecx, dword [ebp - 4]
dec ecx
push ecx
push 0x4b1036
mov eax, dword [ebp + 0x18]
add eax, dword [ebp - 4]
push eax
call fcn.004a6c2c
add esp, 0x10
add dword [ebp - 4], eax
jmp case.0x40c597.65
cmp dword [ebp + 0x10], 0
jne 0x40cbf4
push 0x4b13e3
mov edx, dword [ebp + 0x18]
add edx, dword [ebp - 4]
push edx
call fcn.004a6c2c
add esp, 8
add dword [ebp - 4], eax
jmp case.0x40c597.65
push 3
push 0x1c
mov ecx, dword [ebp + 0x10]
push ecx
lea eax, [ebp - 0x3e0]
push eax
call sym.ollydbg.exe__Readmemory
add esp, 0x10
cmp eax, 0x1c
je 0x40cc2c
push 0x4b13fa
mov edx, dword [ebp + 0x18]
add edx, dword [ebp - 4]
push edx
call fcn.004a6c2c
add esp, 8
add dword [ebp - 4], eax
jmp case.0x40c597.65
mov ecx, dword [ebp + 0xc]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x6d
jne 0x40cc3f
mov edx, 0x4b14f8
jmp 0x40cc44
mov edx, str.WM_W:
xor eax, eax
mov edi, edx
or ecx, 0xffffffff
lea esi, [ebp - 0x234]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [ebp - 0x3b4]
and ecx, 3
lea edx, [ebp - 0x134]
rep movsb byte es:[edi], byte [esi]
push eax
push 0
push edx
push 1
mov ecx, dword [ebp - 0x3dc]
lea eax, [ebp - 0x234]
push ecx
push eax
mov edx, dword [ebp + 8]
push edx
call sym.ollydbg.exe__Decodeknownargument
add esp, 0x1c
cmp dword [ebp - 4], 0xf0
jge 0x40ccc6
lea ecx, [ebp - 0x134]
push ecx
mov eax, 0x100
sub eax, dword [ebp - 4]
dec eax
push eax
push 0x4b1036
mov edx, dword [ebp + 0x18]
add edx, dword [ebp - 4]
push edx
call fcn.004a6c2c
add esp, 0x10
add dword [ebp - 4], eax
cmp dword [ebp - 0x3e0], 0
je 0x40cdaf
cmp dword [ebp - 4], 0xf2
jge 0x40cdaf
mov ecx, dword [ebp - 0x3e0]
push ecx
push str._hw___X
mov eax, dword [ebp + 0x18]
add eax, dword [ebp - 4]
push eax
call fcn.004a6c2c
add esp, 0xc
add dword [ebp - 4], eax
cmp dword [ebp - 4], 0xc0
jge 0x40cdaf
push 0x100
lea edx, [ebp - 0x234]
push edx
mov ecx, dword [ebp - 0x3e0]
push ecx
call sub.USER32.DLL_GetWindowTextA
mov edi, eax
cmp edi, 0x1e
jle 0x40cd3a
push edi
lea edi, [ebp - 0x219]
mov eax, edi
mov esi, 0x4b150d
movsd dword es:[edi], dword [esi]
pop edi
test edi, edi
jle 0x40cd5e
lea edx, [ebp - 0x234]
push edx
push str.____s__
mov ecx, dword [ebp + 0x18]
add ecx, dword [ebp - 4]
push ecx
call fcn.004a6c2c
add esp, 0xc
add dword [ebp - 4], eax
jmp 0x40cdaf
push 0x100
lea eax, [ebp - 0x334]
push eax
mov edx, dword [ebp - 0x3e0]
push edx
call sub.USER32.DLL_GetClassNameA
mov edi, eax
cmp edi, 0x1e
jle 0x40cd8d
push edi
lea edi, [ebp - 0x319]
mov eax, edi
mov esi, 0x4b150d
movsd dword es:[edi], dword [esi]
pop edi
test edi, edi
jle 0x40cdaf
lea edx, [ebp - 0x334]
push edx
push str.__class__s__
mov ecx, dword [ebp + 0x18]
add ecx, dword [ebp - 4]
push ecx
call fcn.004a6c2c
add esp, 0xc
add dword [ebp - 4], eax
cmp dword [ebp - 0x3b4], 0
jne 0x40cdd4
mov dword [ebp - 0x3b4], str.wParam_HwParam
mov dword [ebp - 0x3b0], str.lParam_HlParam
xor eax, eax
mov dword [ebp - 0x3ac], eax
lea ebx, [ebp - 0x3b4]
jmp 0x40ceea
push 7
push str.wParam_
push eax
call fcn.004a37d4
add esp, 0xc
test eax, eax
jne 0x40ce46
mov eax, dword [ebx]
lea esi, [ebp - 0x234]
add eax, 7
mov edi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [ebp - 0x134]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0
push 0
push eax
push 1
mov edx, dword [ebp - 0x3d8]
lea ecx, [ebp - 0x234]
push edx
push ecx
mov eax, dword [ebp + 8]
push eax
call sym.ollydbg.exe__Decodeknownargument
add esp, 0x1c
jmp 0x40ceb6
push 7
push str.lParam_
mov edx, dword [ebx]
push edx
call fcn.004a37d4
add esp, 0xc
test eax, eax
jne 0x40ceaf
mov ecx, dword [ebx]
xor eax, eax
add ecx, 7
lea esi, [ebp - 0x234]
mov edi, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [ebp - 0x134]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0
push 0
push eax
push 1
mov edx, dword [ebp - 0x3d4]
lea ecx, [ebp - 0x234]
push edx
push ecx
mov eax, dword [ebp + 8]
push eax
call sym.ollydbg.exe__Decodeknownargument
add esp, 0x1c
jmp 0x40ceb6
mov byte [ebp - 0x134], 0
cmp dword [ebp - 4], 0xf0
jge 0x40cee7
lea edx, [ebp - 0x134]
push edx
mov ecx, 0x100
sub ecx, dword [ebp - 4]
dec ecx
push ecx
push 0x4b1035
mov eax, dword [ebp + 0x18]
add eax, dword [ebp - 4]
push eax
call fcn.004a6c2c
add esp, 0x10
add dword [ebp - 4], eax
add ebx, 4
mov eax, dword [ebx]
test eax, eax
jne 0x40cddf
jmp case.0x40c597.65
cmp dword [ebp + 0x10], 0
jne 0x40cf1b
push 0x4b13e3
mov edx, dword [ebp + 0x18]
add edx, dword [ebp - 4]
push edx
call fcn.004a6c2c
add esp, 8
add dword [ebp - 4], eax
jmp case.0x40c597.65
cmp dword [ebp + 0x10], 6
jne 0x40cf3d
push str.INVALID_HANDLE
mov ecx, dword [ebp + 0x18]
add ecx, dword [ebp - 4]
push ecx
call fcn.004a6c2c
add esp, 8
add dword [ebp - 4], eax
jmp case.0x40c597.65
mov eax, dword [ebp + 0x10]
push eax
push 0x4b144a
mov edx, dword [ebp + 0x18]
add edx, dword [ebp - 4]
push edx
call fcn.004a6c2c
add esp, 0xc
add dword [ebp - 4], eax
mov ecx, dword [ebp + 0x10]
push ecx
call sym.ollydbg.exe__Findmodule
pop ecx
mov ebx, eax
test ebx, ebx
je case.0x40c597.65
mov eax, dword [ebx]
cmp eax, dword [ebp + 0x10]
jne case.0x40c597.65
add ebx, 0x48
push ebx
push 8
push 0x4b1557
mov eax, dword [ebp + 0x18]
add eax, dword [ebp - 4]
push eax
call fcn.004a6c2c
add esp, 0x10
add dword [ebp - 4], eax
jmp case.0x40c597.65
cmp dword [ebp + 0x10], 0
jne 0x40cfbb
push 0x4b13e3
mov edx, dword [ebp + 0x18]
add edx, dword [ebp - 4]
push edx
call fcn.004a6c2c
add esp, 8
add dword [ebp - 4], eax
jmp case.0x40c597.65
push 3
push 0x10
mov ecx, dword [ebp + 0x10]
push ecx
lea eax, [ebp - 0x3c4]
push eax
call sym.ollydbg.exe__Readmemory
add esp, 0x10
cmp eax, 0x10
je 0x40cff7
mov edx, dword [ebp + 0x10]
push edx
push str._08X____
mov ecx, dword [ebp + 0x18]
add ecx, dword [ebp - 4]
push ecx
call fcn.004a6c2c
add esp, 0xc
add dword [ebp - 4], eax
jmp case.0x40c597.65
mov eax, dword [ebp - 0x3b8]
push eax
mov edx, dword [ebp - 0x3bc]
push edx
mov ecx, dword [ebp - 0x3c0]
push ecx
mov eax, dword [ebp - 0x3c4]
push eax
mov edx, dword [ebp + 0x10]
push edx
push str._08X__i.__i.__i.__i.
mov ecx, dword [ebp + 0x18]
add ecx, dword [ebp - 4]
push ecx
call fcn.004a6c2c
add esp, 0x1c
add dword [ebp - 4], eax
jmp case.0x40c597.65
mov eax, dword [ebp + 0x10]
push eax
push 0x4b1576
mov edx, dword [ebp + 0x18]
add edx, dword [ebp - 4]
push edx
call fcn.004a6c2c
add esp, 0xc
add dword [ebp - 4], eax
push 1
mov ecx, 0x100
sub ecx, dword [ebp - 4]
dec ecx
push ecx
mov eax, dword [ebp + 0x18]
add eax, dword [ebp - 4]
push eax
mov edx, dword [ebp + 0x10]
push edx
call sym.ollydbg.exe__Decodeascii
add esp, 0x10
add dword [ebp - 4], eax
jmp case.0x40c597.65
cmp dword [ebp + 0x10], 0
jne 0x40d097
push 0x4b13e3
mov ecx, dword [ebp + 0x18]
add ecx, dword [ebp - 4]
push ecx
call fcn.004a6c2c
add esp, 8
add dword [ebp - 4], eax
jmp case.0x40c597.65
cmp dword [ebp + 0x10], 6
jne 0x40d0b9
push str.INVALID_HANDLE
mov eax, dword [ebp + 0x18]
add eax, dword [ebp - 4]
push eax
call fcn.004a6c2c
add esp, 8
add dword [ebp - 4], eax
jmp case.0x40c597.65
mov edx, dword [ebp + 0x10]
push edx
push 0x4b144a
mov ecx, dword [ebp + 0x18]
add ecx, dword [ebp - 4]
push ecx
call fcn.004a6c2c
add esp, 0xc
add dword [ebp - 4], eax
push 0x100
lea eax, [ebp - 0x234]
push eax
mov edx, dword [ebp + 0x10]
push edx
call sub.USER32.DLL_GetWindowTextA
mov edi, eax
cmp edi, 0x20
jle 0x40d100
push edi
lea edi, [ebp - 0x217]
mov eax, edi
mov esi, 0x4b150d
movsd dword es:[edi], dword [esi]
pop edi
push 0x100
lea edx, [ebp - 0x334]
push edx
mov ecx, dword [ebp + 0x10]
push ecx
call sub.USER32.DLL_GetClassNameA
mov esi, eax
cmp esi, 0x20
jle 0x40d12e
push esi
push edi
mov esi, 0x4b150d
lea edi, [ebp - 0x317]
mov eax, edi
movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov edx, dword [ebp + 0x10]
push edx
call sub.USER32.DLL_GetParent
mov dword [ebp - 0x28], eax
push 0xfffffffffffffffc
mov ecx, dword [ebp + 0x10]
push ecx
call sub.USER32.DLL_GetWindowLongA
mov dword [ebp - 0x2c], eax
test edi, edi
jg 0x40d160
test esi, esi
jg 0x40d160
cmp dword [ebp - 0x28], 0
jne 0x40d160
cmp dword [ebp - 0x2c], 0
je case.0x40c597.65
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 4]
mov byte [eax + edx], 0x20
inc dword [ebp - 4]
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp - 4]
mov byte [ecx + eax], 0x28
inc dword [ebp - 4]
test edi, edi
jle 0x40d19c
lea edx, [ebp - 0x234]
push edx
push 0x4b157c
mov ecx, dword [ebp + 0x18]
add ecx, dword [ebp - 4]
push ecx
call fcn.004a6c2c
add esp, 0xc
add dword [ebp - 4], eax
test esi, esi
jle 0x40d1be
lea eax, [ebp - 0x334]
push eax
push str.class_s_
mov edx, dword [ebp + 0x18]
add edx, dword [ebp - 4]
push edx
call fcn.004a6c2c
add esp, 0xc
add dword [ebp - 4], eax
cmp dword [ebp - 0x2c], 0
je 0x40d1df
mov ecx, dword [ebp - 0x2c]
push ecx
push str.wndproc_08X_
mov eax, dword [ebp + 0x18]
add eax, dword [ebp - 4]
push eax
call fcn.004a6c2c
add esp, 0xc
add dword [ebp - 4], eax
cmp dword [ebp - 0x28], 0
je 0x40d200
mov edx, dword [ebp - 0x28]
push edx
push str.parent_08X
mov ecx, dword [ebp + 0x18]
add ecx, dword [ebp - 4]
push ecx
call fcn.004a6c2c
add esp, 0xc
add dword [ebp - 4], eax
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 4]
xor ecx, ecx
mov cl, byte [eax + edx - 1]
cmp ecx, 0x2c
jne 0x40d214
dec dword [ebp - 4]
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 4]
mov byte [eax + edx], 0x29
inc dword [ebp - 4]
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp - 4]
mov byte [ecx + eax], 0
jmp case.0x40c597.65
mov edx, dword [ebp + 0xc]
push edx
call fcn.0040c214
pop ecx
mov esi, eax
test esi, esi
je case.0x40c597.65
push esi
call fcn.004a36d4
pop ecx
inc eax
add esi, eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x20], eax
xor edx, edx
mov dword [ebp - 8], edx
xor ecx, ecx
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0x14]
lea ebx, [eax + edx*4]
mov al, byte [esi]
xor edx, edx
mov dl, al
inc esi
cmp edx, 0x1a
ja case.0x40d273.21
jmp dword [edx*4 + 0x40d27a]
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp - 4]
mov byte [ecx + eax], 0
jmp case.0x40c597.65
push esi
call fcn.004a36d4
mov edi, eax
mov eax, dword [ebp - 4]
add eax, edi
pop ecx
add eax, 3
cmp eax, 0x100
jge case.0x40d273.21
lea edx, [edi + 1]
push edx
push esi
mov ecx, dword [ebp + 0x18]
add ecx, dword [ebp - 4]
push ecx
call fcn.004a3530
add esp, 0xc
lea eax, [edi + 1]
add esi, eax
add dword [ebp - 4], edi
jmp case.0x40d273.21
mov edx, dword [esi]
mov dword [ebp - 0x1c], edx
add esi, 4
mov ecx, dword [ebp + 0x10]
and ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], ecx
xor eax, eax
mov dword [ebp - 8], eax
jmp case.0x40d273.21
mov edx, dword [esi]
add esi, 4
mov dword [ebp - 0x1c], edx
mov ecx, dword [ebp + 0x10]
and ecx, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x20], ecx
test byte [ebp - 0x1c], 1
jne 0x40d372
shr dword [ebp - 0x20], 1
shr dword [ebp - 0x1c], 1
inc edi
cmp edi, 0x20
jl 0x40d360
xor eax, eax
mov dword [ebp - 8], eax
jmp case.0x40d273.21
mov edx, dword [esi]
add esi, 4
mov dword [ebp - 0x1c], edx
mov ecx, dword [ebp + 0x10]
and ecx, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x20], ecx
test byte [ebp - 0x1c], 1
jne 0x40d3a1
shr dword [ebp - 0x20], 1
shr dword [ebp - 0x1c], 1
inc edi
cmp edi, 0x20
jl 0x40d38f
cmp dword [ebp - 0x1c], 0
je 0x40d3c2
mov eax, 0x80000000
test dword [ebp - 0x1c], eax
jne 0x40d3ba
shr eax, 1
or eax, 0x80000000
jmp 0x40d3ac
test dword [ebp - 0x20], eax
je 0x40d3c2
or dword [ebp - 0x20], eax
xor edx, edx
mov dword [ebp - 8], edx
jmp case.0x40d273.21
mov ecx, dword [ebp - 0x20]
lea eax, [ebp - 0x134]
push ecx
push 0x4b140a
push eax
call fcn.004a6c2c
mov edi, eax
mov eax, dword [ebp - 4]
add eax, edi
add esp, 0xc
add eax, 3
cmp eax, 0x100
jge case.0x40d273.21
lea edx, [edi + 1]
lea ecx, [ebp - 0x134]
push edx
push ecx
mov eax, dword [ebp + 0x18]
add eax, dword [ebp - 4]
push eax
call fcn.004a3530
add esp, 0xc
add dword [ebp - 4], edi
jmp case.0x40d273.21
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x134]
push edx
push 0x4b15a8
push ecx
call fcn.004a6c2c
mov edi, eax
mov eax, dword [ebp - 4]
add eax, edi
add esp, 0xc
add eax, 3
cmp eax, 0x100
jge case.0x40d273.21
lea edx, [edi + 1]
lea ecx, [ebp - 0x134]
push edx
push ecx
mov eax, dword [ebp + 0x18]
add eax, dword [ebp - 4]
push eax
call fcn.004a3530
add esp, 0xc
add dword [ebp - 4], edi
jmp case.0x40d273.21
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x134]
push edx
push 0x4b15ad
push ecx
call fcn.004a6c2c
mov edi, eax
mov eax, dword [ebp - 4]
add eax, edi
add esp, 0xc
add eax, 3
cmp eax, 0x100
jge case.0x40d273.21
lea edx, [edi + 1]
lea ecx, [ebp - 0x134]
push edx
push ecx
mov eax, dword [ebp + 0x18]
add eax, dword [ebp - 4]
push eax
call fcn.004a3530
add esp, 0xc
add dword [ebp - 4], edi
jmp case.0x40d273.21
mov dl, byte [ebp - 0x20]
xor ecx, ecx
mov byte [ebp - 0x2d], dl
lea eax, [ebp - 0x134]
mov cl, byte [ebp - 0x2d]
push ecx
push 0x4b1424
push eax
call fcn.004a6c2c
mov edi, eax
add esp, 0xc
xor eax, eax
lea edx, [ebp - 0x134]
mov al, byte [ebp - 0x2d]
add edx, edi
push eax
push edx
call sym.ollydbg.exe__Decodecharacter
add edi, eax
mov ecx, dword [ebp - 4]
add ecx, edi
add esp, 8
add ecx, 3
cmp ecx, 0x100
jge case.0x40d273.21
lea eax, [edi + 1]
lea edx, [ebp - 0x134]
push eax
push edx
mov ecx, dword [ebp + 0x18]
add ecx, dword [ebp - 4]
push ecx
call fcn.004a3530
add esp, 0xc
add dword [ebp - 4], edi
jmp case.0x40d273.21
mov eax, dword [esi]
mov dword [ebp - 0x1c], eax
add esi, 4
push esi
call fcn.004a36d4
pop ecx
mov edi, eax
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x40d584
cmp dword [ebp - 8], 0
jne 0x40d584
mov dword [ebp - 8], 1
mov dword [ebp - 0x10], 1
mov edx, dword [ebp - 4]
add edx, edi
add edx, 3
cmp edx, 0x100
jge case.0x40d273.21
lea ecx, [edi + 1]
push ecx
push esi
mov eax, dword [ebp + 0x18]
add eax, dword [ebp - 4]
push eax
call fcn.004a3530
add esp, 0xc
add dword [ebp - 4], edi
jmp 0x40d589
xor edx, edx
mov dword [ebp - 0x10], edx
inc edi
add esi, edi
jmp case.0x40d273.21
cmp dword [ebp + 0x20], 0
je 0x40d5af
cmp dword [ebp - 0x10], 0
je 0x40d5af
cmp dword [ebp - 0x14], 0x1f
jge 0x40d5af
mov dword [ebx], esi
add ebx, 4
inc dword [ebp - 0x14]
xor eax, eax
mov dword [ebx], eax
push esi
call fcn.004a36d4
pop ecx
inc eax
add esi, eax
jmp case.0x40d273.21
cmp dword [ebp + 0x20], 0
je case.0x40d273.21
cmp dword [ebp - 0x10], 0
je case.0x40d273.21
cmp dword [ebp - 0x14], 0x1f
jge case.0x40d273.21
mov dword [ebx], 0x4b0ed5
add ebx, 4
inc dword [ebp - 0x14]
xor edx, edx
mov dword [ebx], edx
jmp case.0x40d273.21
mov ecx, dword [ebp - 0x20]
and ecx, 0xffff0000
test ecx, ecx
je case.0x40d273.21
mov eax, dword [ebp - 0x20]
and eax, 0xffff0000
cmp eax, 0xffff0000
je case.0x40d273.21
cmp dword [ebp - 8], 0
jne case.0x40d273.21
mov dword [ebp - 8], 1
push 2
mov edx, 0x100
sub edx, dword [ebp - 4]
add edx, 0xfffffffd
push edx
mov ecx, dword [ebp + 0x18]
add ecx, dword [ebp - 4]
push ecx
mov eax, dword [ebp - 0x20]
push eax
call sym.ollydbg.exe__Decodeascii
add esp, 0x10
add dword [ebp - 4], eax
jmp case.0x40d273.21
mov edx, dword [ebp - 0x20]
and edx, 0xffff0000
test edx, edx
je case.0x40d273.21
mov ecx, dword [ebp - 0x20]
and ecx, 0xffff0000
cmp ecx, 0xffff0000
je case.0x40d273.21
cmp dword [ebp - 8], 0
jne case.0x40d273.21
mov dword [ebp - 8], 1
mov eax, 0x100
sub eax, dword [ebp - 4]
add eax, 0xfffffffd
push eax
mov edx, dword [ebp + 0x18]
add edx, dword [ebp - 4]
push edx
mov ecx, dword [ebp - 0x20]
push ecx
call sym.ollydbg.exe__Decodeunicode
add esp, 0xc
add dword [ebp - 4], eax
jmp case.0x40d273.21
test dword [ebp - 0x20], 0xffff0000
jne case.0x40d273.21
cmp dword [ebp - 8], 0
jne case.0x40d273.21
mov dword [ebp - 8], 1
mov eax, dword [ebp - 0x20]
push eax
push 0x4b15b2
mov edx, dword [ebp + 0x18]
add edx, dword [ebp - 4]
push edx
call fcn.004a6c2c
add esp, 0xc
add dword [ebp - 4], eax
jmp case.0x40d273.21
push esi
call fcn.004a36d4
pop ecx
mov edi, eax
cmp dword [ebp - 8], 0
jne 0x40d72b
mov dword [ebp - 8], 1
mov eax, dword [ebp - 4]
add eax, edi
add eax, 3
cmp eax, 0x100
jge case.0x40d273.21
lea edx, [edi + 1]
push edx
push esi
mov ecx, dword [ebp + 0x18]
add ecx, dword [ebp - 4]
push ecx
call fcn.004a3530
add esp, 0xc
add dword [ebp - 4], edi
inc edi
add esi, edi
jmp case.0x40d273.21
cmp dword [ebp - 8], 0
jne case.0x40d273.21
mov dword [ebp - 8], 1
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x134]
push eax
push 0x4b140a
push edx
call fcn.004a6c2c
mov edi, eax
mov eax, dword [ebp - 4]
add eax, edi
add esp, 0xc
add eax, 3
cmp eax, 0x100
jge case.0x40d273.21
lea edx, [edi + 1]
lea ecx, [ebp - 0x134]
push edx
push ecx
mov eax, dword [ebp + 0x18]
add eax, dword [ebp - 4]
push eax
call fcn.004a3530
add esp, 0xc
add dword [ebp - 4], edi
jmp case.0x40d273.21
cmp dword [ebp - 8], 0
jne case.0x40d273.21
mov dword [ebp - 8], 1
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x134]
push edx
push 0x4b15a8
push ecx
call fcn.004a6c2c
mov edi, eax
mov eax, dword [ebp - 4]
add eax, edi
add esp, 0xc
add eax, 3
cmp eax, 0x100
jge case.0x40d273.21
lea edx, [edi + 1]
lea ecx, [ebp - 0x134]
push edx
push ecx
mov eax, dword [ebp + 0x18]
add eax, dword [ebp - 4]
push eax
call fcn.004a3530
add esp, 0xc
add dword [ebp - 4], edi
jmp case.0x40d273.21
cmp dword [ebp - 8], 0
jne case.0x40d273.21
mov dword [ebp - 8], 1
mov dl, byte [ebp - 0x20]
xor ecx, ecx
mov byte [ebp - 0x2d], dl
lea eax, [ebp - 0x134]
mov cl, byte [ebp - 0x2d]
push ecx
push 0x4b1424
push eax
call fcn.004a6c2c
mov edi, eax
add esp, 0xc
xor eax, eax
lea edx, [ebp - 0x134]
mov al, byte [ebp - 0x2d]
add edx, edi
push eax
push edx
call sym.ollydbg.exe__Decodecharacter
add edi, eax
mov ecx, dword [ebp - 4]
add ecx, edi
add esp, 8
add ecx, 3
cmp ecx, 0x100
jge case.0x40d273.21
lea eax, [edi + 1]
lea edx, [ebp - 0x134]
push eax
push edx
mov ecx, dword [ebp + 0x18]
add ecx, dword [ebp - 4]
push ecx
call fcn.004a3530
add esp, 0xc
add dword [ebp - 4], edi
jmp case.0x40d273.21
cmp dword [ebp - 8], 0
jne case.0x40d273.21
mov dword [ebp - 8], 1
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x134]
and eax, 0xffff
push eax
push 0x4b142a
push edx
call fcn.004a6c2c
add esp, 0xc
mov edi, eax
test byte [ebp - 0x1f], 0xff
jne 0x40d8c2
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x134]
add edx, edi
push eax
push edx
call sym.ollydbg.exe__Decodecharacter
add esp, 8
add edi, eax
mov ecx, dword [ebp - 4]
add ecx, edi
add ecx, 3
cmp ecx, 0x100
jge case.0x40d273.21
lea eax, [edi + 1]
lea edx, [ebp - 0x134]
push eax
push edx
mov ecx, dword [ebp + 0x18]
add ecx, dword [ebp - 4]
push ecx
call fcn.004a3530
add esp, 0xc
add dword [ebp - 4], edi
jmp case.0x40d273.21
mov eax, dword [esi]
mov dword [ebp - 0x1c], eax
add esi, 4
push esi
call fcn.004a36d4
pop ecx
mov edi, eax
mov eax, dword [ebp - 0x20]
and eax, dword [ebp - 0x1c]
je 0x40d942
cmp dword [ebp - 8], 0
jne 0x40d942
mov edx, dword [ebp - 4]
add edx, edi
add edx, 3
cmp edx, 0x100
jge case.0x40d273.21
lea ecx, [edi + 1]
push ecx
push esi
mov eax, dword [ebp + 0x18]
add eax, dword [ebp - 4]
push eax
call fcn.004a3530
add esp, 0xc
add dword [ebp - 4], edi
inc edi
add esi, edi
jmp case.0x40d273.21
mov eax, dword [esi]
mov dword [ebp - 0x1c], eax
add esi, 4
push esi
call fcn.004a36d4
pop ecx
mov edi, eax
mov eax, dword [ebp - 0x20]
and eax, dword [ebp - 0x1c]
jne 0x40d994
cmp dword [ebp - 8], 0
jne 0x40d994
mov edx, dword [ebp - 4]
add edx, edi
add edx, 3
cmp edx, 0x100
jge case.0x40d273.21
lea ecx, [edi + 1]
push ecx
push esi
mov eax, dword [ebp + 0x18]
add eax, dword [ebp - 4]
push eax
call fcn.004a3530
add esp, 0xc
add dword [ebp - 4], edi
inc edi
add esi, edi
jmp case.0x40d273.21
mov eax, dword [esi]
mov dword [ebp - 0x1c], eax
add esi, 4
mov edx, dword [ebp - 0x20]
and edx, dword [ebp - 0x1c]
test edx, edx
je case.0x40d273.21
cmp dword [ebp - 8], 0
jne case.0x40d273.21
mov ecx, dword [ebp - 0x20]
lea eax, [ebp - 0x134]
and ecx, dword [ebp - 0x1c]
push ecx
push 0x4b150a
push eax
call fcn.004a6c2c
mov edi, eax
mov eax, dword [ebp - 4]
add eax, edi
add esp, 0xc
add eax, 3
cmp eax, 0x100
jge case.0x40d273.21
lea edx, [edi + 1]
lea ecx, [ebp - 0x134]
push edx
push ecx
mov eax, dword [ebp + 0x18]
add eax, dword [ebp - 4]
push eax
call fcn.004a3530
add esp, 0xc
add dword [ebp - 4], edi
jmp case.0x40d273.21
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp - 4]
lea eax, [edx + ecx - 1]
jmp 0x40da22
dec dword [ebp - 4]
dec eax
mov byte [eax + 1], 0
cmp dword [ebp - 4], 0
jle case.0x40d273.21
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x2c
je 0x40da1a
cmp edx, 0x7c
je 0x40da1a
cmp edx, 0x3a
je 0x40da1a
jmp case.0x40d273.21
cmp dword [ebp - 8], 0
jne case.0x40c597.65
jmp case.0x40d273.21
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp - 4]
lea ebx, [ecx + eax - 1]
jmp 0x40da63
dec dword [ebp - 4]
dec ebx
mov byte [ebx + 1], 0
cmp dword [ebp - 4], 0
jle 0x40da86
xor eax, eax
mov al, byte [ebx]
cmp eax, 0x20
je 0x40da5b
cmp eax, 0x2c
je 0x40da5b
cmp eax, 0x7c
je 0x40da5b
cmp eax, 0x3a
je 0x40da5b
cmp eax, 0x3d
je 0x40da5b
cmp dword [ebp + 0x1c], 0
je 0x40dab2
mov edx, dword [ebp - 0x18]
cmp edx, dword [ebp - 4]
jle 0x40da9a
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], 0
jle 0x40dab2
mov eax, dword [ebp - 0x18]
push eax
push 1
mov edx, dword [ebp + 0x1c]
push edx
call fcn.004a35a0
add esp, 0xc
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret