Function at 0x412ed0
Capabilities:
Get graphical window text

Disassembly:
push 0xffffffffffffffff
push 0x44f9a6
mov eax, dword fs:[0]
push eax
sub esp, 0x428
mov eax, dword [0x461cb4]
xor eax, esp
mov dword [esp + 0x424], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x461cb4]
xor eax, esp
push eax
lea eax, [esp + 0x43c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x44c]
mov ebx, dword [eax]
call fcn.004268c1
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x412f2e
push 0x80004005
call fcn.004010d0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x20], eax
mov dword [esp + 0x444], 0
call fcn.004268c1
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x412f63
push 0x80004005
call fcn.004010d0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x24], eax
push 0
push 0
push 0xf0
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x45750c
mov edi, 1
mov byte [esp + 0x458], 1
call fcn.0041ed40
call fcn.004126e0
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
add esp, 4
push eax
call esi
cmp eax, edi
jne 0x412fbe
mov ecx, ebx
imul ecx, ecx, 0xf3
mov byte [ecx + 0x466480], 1
push 0
push 0
push 0xf0
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x457520
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
cmp eax, edi
jne 0x412ff5
mov edx, ebx
imul edx, edx, 0xf3
mov dword [edx + 0x46655b], edi
push 0
push 0
push 0xf0
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x457530
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
cmp eax, edi
jne 0x41302c
mov eax, ebx
imul eax, eax, 0xf3
mov dword [eax + 0x46655f], edi
push 0
push 0
push 0xf0
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x457540
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
cmp eax, edi
jne 0x413063
mov ecx, ebx
imul ecx, ecx, 0xf3
mov dword [ecx + 0x466557], edi
push 0
push 0
push 0xf0
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x457550
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
cmp eax, edi
jne 0x41309a
mov edx, ebx
imul edx, edx, 0xf3
mov dword [edx + 0x466563], edi
push 0x104
lea eax, [esp + 0x2c]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x457560
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call dword [sym.imp.USER32.dll_GetWindowTextA]
imul ebx, ebx, 0xf3
lea eax, [esp + 0x28]
mov dword [esp + 0x1c], ebx
lea edi, [ebx + 0x466553]
lea ebp, [eax + 1]
jmp 0x4130e0
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4130e0
sub eax, ebp
push eax
lea ecx, [esp + 0x2c]
push ecx
mov ecx, edi
call fcn.0041ff70
push 0
push 0
push 0xf0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x457570
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
cmp eax, 1
jne 0x413128
mov dword [ebx + 0x46653e], eax
push 0
push 0
push 0xf0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x457584
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
cmp eax, 1
jne 0x413158
mov dword [ebx + 0x466542], eax
push 0x104
lea edx, [esp + 0x130]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x457594
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea eax, [esp + 0x12c]
lea edi, [ebx + 0x466546]
lea ebp, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x413195
sub eax, ebp
push eax
lea eax, [esp + 0x130]
push eax
mov ecx, edi
call fcn.0041ff70
push 0
push 0
push 0xf0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x4575a8
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
mov edi, 1
cmp eax, edi
jne 0x4131e4
mov dword [ebx + 0x46653a], edi
push 0
push 0
push 0xf0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x4575b8
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
cmp eax, edi
jne 0x413213
mov dword [ebx + 0x46652e], edi
push 0
push 0
push 0xf0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x4575c8
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
cmp eax, edi
jne 0x413242
mov dword [ebx + 0x466522], edi
push 0
push 0
push 0xf0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x457458
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
cmp eax, edi
jne 0x413271
mov dword [ebx + 0x46650a], edi
push 0
push 0
push 0xf0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x4575dc
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
cmp eax, edi
jne 0x4132a0
mov dword [ebx + 0x466512], edi
push 0
push 0
push 0xf0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x4575ec
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
cmp eax, edi
jne 0x4132cf
mov dword [ebx + 0x46650e], edi
push 0
push 0
push 0xf0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x457464
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
cmp eax, edi
jne 0x4132fe
mov dword [ebx + 0x466516], edi
push 0
push 0
push 0xf0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x4575fc
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
cmp eax, edi
jne 0x41332d
mov dword [ebx + 0x46651a], edi
push 0x104
lea ecx, [esp + 0x234]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45760c
call fcn.0041ed40
call fcn.004126e0
mov edi, dword [sym.imp.USER32.dll_GetWindowTextA]
add esp, 4
push eax
call edi
lea edx, [esp + 0x230]
push edx
call fcn.00432be7
add esp, 4
push 0x104
mov dword [ebx + 0x4664ae], eax
lea eax, [esp + 0x338]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x457620
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call edi
lea ecx, [esp + 0x334]
push ecx
call fcn.00432be7
add esp, 4
push 0
push 0
push 0x147
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x457444
mov dword [ebx + 0x466526], eax
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
mov edi, eax
cmp edi, 0xffffffff
je 0x41344f
push 0x1f
call fcn.00423efe
add esp, 4
mov ebp, eax
push ebp
push edi
push 0x148
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x457444
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
test ebp, ebp
jne 0x413414
xor eax, eax
jmp 0x41342b
mov eax, ebp
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x413420
sub eax, edx
push eax
push ebp
lea ecx, [esp + 0x28]
call fcn.0041ff70
lea edx, [esp + 0x20]
lea ecx, [ebx + 0x466502]
push edx
call fcn.0041f8c0
push ebp
call fcn.00423ef9
add esp, 4
push 0
push 0
push 0x18b
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x457634
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
or ebp, 0xffffffff
xor edi, edi
test eax, eax
mov dword [esp + 0x18], eax
jle 0x413551
push 0
push edi
push 0x187
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x457634
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
test eax, eax
jg 0x4134bb
add edi, 1
cmp edi, dword [esp + 0x18]
jl 0x413485
jmp 0x413551
cmp edi, 0xffffffff
mov ebp, edi
je 0x413551
push 0
push edi
push 0x18a
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x457634
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
add eax, 1
push eax
call fcn.00423efe
add esp, 4
mov ebx, eax
push ebx
push edi
push 0x189
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x457634
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
test ebx, ebx
mov ecx, dword [esp + 0x1c]
lea ecx, [ecx + 0x4664de]
jne 0x41352d
xor eax, eax
jmp 0x41353d
mov eax, ebx
lea edi, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x413532
sub eax, edi
push eax
push ebx
call fcn.0041ff70
push ebx
call fcn.00423ef9
mov ebx, dword [esp + 0x20]
add esp, 4
push 0
push 0
push 0x147
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x457430
mov edi, 1
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
cmp eax, 0xffffffff
mov dword [esp + 0x18], eax
je 0x4135f8
push 0x1f
call fcn.00423efe
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x18]
push edi
push eax
push 0x148
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x457430
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
test edi, edi
jne 0x4135bf
xor eax, eax
jmp 0x4135cf
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4135c4
sub eax, edx
push eax
push edi
lea ecx, [esp + 0x28]
call fcn.0041ff70
lea edx, [esp + 0x20]
lea ecx, [ebx + 0x4664d6]
push edx
call fcn.0041f8c0
push edi
call fcn.00423ef9
add esp, 4
mov edi, 1
push 0
push 0
push 0xf0
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x457644
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
cmp eax, edi
jne 0x413627
mov dword [ebx + 0x46651e], edi
push 0
push 0
push 0xf0
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45749c
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
cmp eax, edi
jne 0x413656
mov dword [ebx + 0x4664c6], edi
push 0
push 0
push 0xf0
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45748c
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
cmp eax, edi
jne 0x413685
mov dword [ebx + 0x4664ca], edi
push 0
push 0
push 0xf0
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45747c
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
cmp eax, edi
jne 0x4136b4
mov dword [ebx + 0x4664ce], edi
push 0
push 0
push 0xf0
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45765c
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
cmp eax, edi
jne 0x4136e3
mov dword [ebx + 0x4664d2], edi
push 0
push 0
push 0x18b
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45766c
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
xor edi, edi
test eax, eax
mov dword [esp + 0x18], eax
jle 0x413747
push 0
push edi
push 0x187
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45766c
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
test eax, eax
jg 0x413745
add edi, 1
cmp edi, dword [esp + 0x18]
jl 0x413712
jmp 0x413747
mov ebp, edi
cmp ebp, 0xffffffff
je 0x4137dd
push 0
push ebp
push 0x18a
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45766c
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
add eax, 1
push eax
call fcn.00423efe
add esp, 4
mov edi, eax
push edi
push ebp
push 0x189
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45766c
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
test edi, edi
lea ecx, [ebx + 0x4664aa]
jne 0x4137b3
xor eax, eax
jmp 0x4137cd
mov eax, edi
lea edx, [eax + 1]
mov dword [esp + 0x1c], edx
lea esp, [esp]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x4137c0
sub eax, dword [esp + 0x1c]
push eax
push edi
call fcn.0041ff70
push edi
call fcn.00423ef9
add esp, 4
push 0
push 0
push 0x18b
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45767c
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
xor edi, edi
test eax, eax
mov dword [esp + 0x18], eax
jle 0x413845
lea esp, [esp]
push 0
push edi
push 0x187
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45767c
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
test eax, eax
jg 0x413843
add edi, 1
cmp edi, dword [esp + 0x18]
jl 0x413810
jmp 0x413845
mov ebp, edi
cmp ebp, 0xffffffff
je 0x4138dd
push 0
push ebp
push 0x18a
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45767c
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
add eax, 1
push eax
call fcn.00423efe
add esp, 4
mov edi, eax
push edi
push ebp
push 0x189
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45767c
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
test edi, edi
lea ecx, [ebx + 0x4664da]
jne 0x4138b1
xor eax, eax
jmp 0x4138cd
mov eax, edi
lea edx, [eax + 1]
mov dword [esp + 0x1c], edx
lea ebx, [ebx]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x4138c0
sub eax, dword [esp + 0x1c]
push eax
push edi
call fcn.0041ff70
push edi
call fcn.00423ef9
add esp, 4
push 0
push 0
push 0x18b
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45768c
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
xor edi, edi
test eax, eax
mov dword [esp + 0x18], eax
jle 0x413945
lea esp, [esp]
push 0
push edi
push 0x187
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45768c
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
test eax, eax
jg 0x413943
add edi, 1
cmp edi, dword [esp + 0x18]
jl 0x413910
jmp 0x413945
mov ebp, edi
cmp ebp, 0xffffffff
je 0x4139dd
push 0
push ebp
push 0x18a
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45768c
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
add eax, 1
push eax
call fcn.00423efe
add esp, 4
mov edi, eax
push edi
push ebp
push 0x189
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45768c
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
test edi, edi
lea ecx, [ebx + 0x4664c2]
jne 0x4139b1
xor eax, eax
jmp 0x4139cd
mov eax, edi
lea edx, [eax + 1]
mov dword [esp + 0x1c], edx
lea ebx, [ebx]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x4139c0
sub eax, dword [esp + 0x1c]
push eax
push edi
call fcn.0041ff70
push edi
call fcn.00423ef9
add esp, 4
push 0
push 0
push 0x18b
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45769c
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
xor edi, edi
test eax, eax
mov dword [esp + 0x18], eax
jle 0x413a45
lea esp, [esp]
push 0
push edi
push 0x187
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45769c
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
test eax, eax
jg 0x413a43
add edi, 1
cmp edi, dword [esp + 0x18]
jl 0x413a10
jmp 0x413a45
mov ebp, edi
cmp ebp, 0xffffffff
je 0x413add
push 0
push ebp
push 0x18a
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45769c
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
add eax, 1
push eax
call fcn.00423efe
add esp, 4
mov edi, eax
push edi
push ebp
push 0x189
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45769c
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
test edi, edi
lea ecx, [ebx + 0x4664fe]
jne 0x413ab1
xor eax, eax
jmp 0x413acd
mov eax, edi
lea edx, [eax + 1]
mov dword [esp + 0x1c], edx
lea ebx, [ebx]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x413ac0
sub eax, dword [esp + 0x1c]
push eax
push edi
call fcn.0041ff70
push edi
call fcn.00423ef9
add esp, 4
push 0
push 0
push 0x18b
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4576ac
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
xor edi, edi
test eax, eax
mov dword [esp + 0x18], eax
jle 0x413b45
lea esp, [esp]
push 0
push edi
push 0x187
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4576ac
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
test eax, eax
jg 0x413b43
add edi, 1
cmp edi, dword [esp + 0x18]
jl 0x413b10
jmp 0x413b45
mov ebp, edi
cmp ebp, 0xffffffff
je 0x413bdd
push 0
push ebp
push 0x18a
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4576ac
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
add eax, 1
push eax
call fcn.00423efe
add esp, 4
mov edi, eax
push edi
push ebp
push 0x189
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4576ac
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
test edi, edi
lea ecx, [ebx + 0x4664fa]
jne 0x413bb1
xor eax, eax
jmp 0x413bcd
mov eax, edi
lea edx, [eax + 1]
mov dword [esp + 0x1c], edx
lea ebx, [ebx]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x413bc0
sub eax, dword [esp + 0x1c]
push eax
push edi
call fcn.0041ff70
push edi
call fcn.00423ef9
add esp, 4
push 0
push 0
push 0x18b
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4576bc
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
xor edi, edi
test eax, eax
mov dword [esp + 0x18], eax
jle 0x413c45
lea esp, [esp]
push 0
push edi
push 0x187
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4576bc
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
test eax, eax
jg 0x413c43
add edi, 1
cmp edi, dword [esp + 0x18]
jl 0x413c10
jmp 0x413c45
mov ebp, edi
cmp ebp, 0xffffffff
je 0x413cdd
push 0
push ebp
push 0x18a
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4576bc
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
add eax, 1
push eax
call fcn.00423efe
add esp, 4
mov edi, eax
push edi
push ebp
push 0x189
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4576bc
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
test edi, edi
lea ecx, [ebx + 0x4664e2]
jne 0x413cb1
xor eax, eax
jmp 0x413ccd
mov eax, edi
lea edx, [eax + 1]
mov dword [esp + 0x1c], edx
lea ebx, [ebx]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x413cc0
sub eax, dword [esp + 0x1c]
push eax
push edi
call fcn.0041ff70
push edi
call fcn.00423ef9
add esp, 4
push 0
push 0
push 0x18b
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4576cc
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
xor edi, edi
test eax, eax
mov dword [esp + 0x18], eax
jle 0x413d45
lea esp, [esp]
push 0
push edi
push 0x187
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4576cc
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
test eax, eax
jg 0x413d43
add edi, 1
cmp edi, dword [esp + 0x18]
jl 0x413d10
jmp 0x413d45
mov ebp, edi
cmp ebp, 0xffffffff
je 0x413ddd
push 0
push ebp
push 0x18a
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4576cc
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
add eax, 1
push eax
call fcn.00423efe
add esp, 4
mov edi, eax
push edi
push ebp
push 0x189
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4576cc
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
test edi, edi
lea ecx, [ebx + 0x4664f6]
jne 0x413db1
xor eax, eax
jmp 0x413dcd
mov eax, edi
lea edx, [eax + 1]
mov dword [esp + 0x1c], edx
lea ebx, [ebx]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x413dc0
sub eax, dword [esp + 0x1c]
push eax
push edi
call fcn.0041ff70
push edi
call fcn.00423ef9
add esp, 4
push 0
push 0
push 0x18b
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4576dc
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
xor edi, edi
test eax, eax
mov dword [esp + 0x18], eax
jle 0x413e45
lea esp, [esp]
push 0
push edi
push 0x187
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4576dc
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
test eax, eax
jg 0x413e43
add edi, 1
cmp edi, dword [esp + 0x18]
jl 0x413e10
jmp 0x413e45
mov ebp, edi
cmp ebp, 0xffffffff
je 0x413edd
push 0
push ebp
push 0x18a
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4576dc
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
add eax, 1
push eax
call fcn.00423efe
add esp, 4
mov edi, eax
push edi
push ebp
push 0x189
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4576dc
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
test edi, edi
lea ecx, [ebx + 0x4664f2]
jne 0x413eb1
xor eax, eax
jmp 0x413ecd
mov eax, edi
lea edx, [eax + 1]
mov dword [esp + 0x1c], edx
lea ebx, [ebx]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x413ec0
sub eax, dword [esp + 0x1c]
push eax
push edi
call fcn.0041ff70
push edi
call fcn.00423ef9
add esp, 4
push 0
push 0
push 0x18b
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4576ec
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
xor edi, edi
test eax, eax
mov dword [esp + 0x18], eax
jle 0x413f45
lea esp, [esp]
push 0
push edi
push 0x187
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4576ec
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
test eax, eax
jg 0x413f43
add edi, 1
cmp edi, dword [esp + 0x18]
jl 0x413f10
jmp 0x413f45
mov ebp, edi
cmp ebp, 0xffffffff
je 0x413fdd
push 0
push ebp
push 0x18a
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4576ec
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
add eax, 1
push eax
call fcn.00423efe
add esp, 4
mov edi, eax
push edi
push ebp
push 0x189
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4576ec
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
test edi, edi
lea ecx, [ebx + 0x4664ea]
jne 0x413fb1
xor eax, eax
jmp 0x413fcd
mov eax, edi
lea edx, [eax + 1]
mov dword [esp + 0x1c], edx
lea ebx, [ebx]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x413fc0
sub eax, dword [esp + 0x1c]
push eax
push edi
call fcn.0041ff70
push edi
call fcn.00423ef9
add esp, 4
push 0
push 0
push 0x18b
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4576fc
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
xor edi, edi
test eax, eax
mov dword [esp + 0x18], eax
jle 0x414045
lea esp, [esp]
push 0
push edi
push 0x187
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4576fc
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
test eax, eax
jg 0x414043
add edi, 1
cmp edi, dword [esp + 0x18]
jl 0x414010
jmp 0x414045
mov ebp, edi
cmp ebp, 0xffffffff
je 0x4140dd
push 0
push ebp
push 0x18a
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4576fc
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
add eax, 1
push eax
call fcn.00423efe
add esp, 4
mov edi, eax
push edi
push ebp
push 0x189
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4576fc
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
test edi, edi
lea ecx, [ebx + 0x4664e6]
jne 0x4140b1
xor eax, eax
jmp 0x4140cd
mov eax, edi
lea edx, [eax + 1]
mov dword [esp + 0x1c], edx
lea ebx, [ebx]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x4140c0
sub eax, dword [esp + 0x1c]
push eax
push edi
call fcn.0041ff70
push edi
call fcn.00423ef9
add esp, 4
push 0
push 0
push 0x18b
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45770c
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
xor edi, edi
test eax, eax
mov dword [esp + 0x18], eax
jle 0x414145
lea esp, [esp]
push 0
push edi
push 0x187
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45770c
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
test eax, eax
jg 0x414143
add edi, 1
cmp edi, dword [esp + 0x18]
jl 0x414110
jmp 0x414145
mov ebp, edi
cmp ebp, 0xffffffff
je 0x4141d1
push 0
push ebp
push 0x18a
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45770c
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
add eax, 1
push eax
call fcn.00423efe
add esp, 4
mov edi, eax
push edi
push ebp
push 0x189
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45770c
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
test edi, edi
lea ecx, [ebx + 0x4664a6]
jne 0x4141b1
xor eax, eax
jmp 0x4141c1
mov eax, edi
lea ebp, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x4141b6
sub eax, ebp
push eax
push edi
call fcn.0041ff70
push edi
call fcn.00423ef9
add esp, 4
push 0
push 0
push 0x400
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45771c
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
push 0
push 0
push 0x400
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45772c
mov dword [ebx + 0x466481], eax
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
push 0
push 0
push 0x400
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x457740
mov dword [ebx + 0x46654f], eax
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
push 0
push 0
push 0x400
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x457410
mov dword [ebx + 0x46654b], eax
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
push 0
push 0
push 0x400
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x457400
mov dword [ebx + 0x4664b2], eax
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
push 0
push 0
push 0x400
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x457420
mov dword [ebx + 0x4664ee], eax
call fcn.0041ed40
call fcn.004126e0
add esp, 4
push eax
call esi
mov dword [ebx + 0x4664ba], eax
mov byte [esp + 0x444], 0
mov eax, dword [esp + 0x24]
mov byte [ebx + 0x4664a1], 1
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414302
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x444], 0xffffffff
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41432d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
mov ecx, dword [esp + 0x43c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x424]
xor ecx, esp
call fcn.0043148f
add esp, 0x434
ret