Function at 0x437fe8
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov esi, dword [ebp + 0x14]
mov ebx, dword [ebp + 0xc]
mov edi, 0x548e2c
mov eax, dword [ebx + 4]
test eax, eax
je 0x438a71
cmp byte [eax], 0x2d
jne 0x438a71
xor edx, edx
mov dword [0x548e58], edx
xor ecx, ecx
mov dword [0x548e5c], ecx
xor edx, edx
mov dword [0x548e48], edx
xor ecx, ecx
mov dword [0x548e4c], ecx
xor edx, edx
mov dword [0x548e50], edx
xor ecx, ecx
mov dword [0x548e54], ecx
push 0x61
push eax
call fcn.0051833c
add esp, 8
test eax, eax
je 0x438058
mov dword [0x548e58], 1
jmp 0x438073
push 0x72
push dword [ebx + 4]
call fcn.0051833c
add esp, 8
test eax, eax
je 0x438073
mov dword [0x548e58], 2
push 0x73
push dword [ebx + 4]
call fcn.0051833c
add esp, 8
test eax, eax
je 0x43808e
mov dword [0x548e5c], 1
cmp dword [0x548e58], 0
jne 0x4380aa
cmp dword [0x548e5c], 0
jne 0x4380aa
mov eax, 1
jmp 0x438eaf
push 0
push 0x52b13b
push 0x55ff50
call fcn.00461bcb
mov dword [0x548e3c], eax
cmp dword [0x548e58], 0
je 0x438a2c
cmp dword [ebx + 8], 0
jne 0x4380f0
push dword [0x548e3c]
call fcn.0049dfbe
push 0
push 0
push dword [ebx]
push 0
call fcn.0045abd0
jmp 0x438eaf
test byte [0x548e58], 1
je 0x4381e5
mov dword [0x548e44], 3
jmp 0x438170
mov eax, dword [0x548e44]
mov al, byte [edx + 1]
cmp al, 0x70
jne 0x438124
mov edx, dword [0x548e44]
inc edx
mov dword [0x548e4c], edx
jmp 0x438169
mov ecx, dword [0x548e44]
cmp al, 0x67
jne 0x43813b
mov eax, dword [0x548e44]
inc eax
mov dword [0x548e54], eax
jmp 0x438169
mov edx, dword [0x548e44]
cmp al, 0x64
jne 0x438154
mov ecx, dword [0x548e44]
inc ecx
mov dword [0x548e48], ecx
jmp 0x438169
mov edx, dword [0x548e44]
cmp al, 0x77
jne 0x438198
mov eax, dword [0x548e44]
inc eax
mov dword [0x548e50], eax
add dword [0x548e44], 2
mov ecx, dword [0x548e44]
mov edx, dword [ebx + ecx*4]
test edx, edx
je 0x438198
mov eax, dword [0x548e44]
cmp byte [edx], 0x2d
jne 0x438198
mov ecx, dword [0x548e44]
cmp dword [ebx + ecx*4 + 4], 0
jne 0x438109
cmp dword [0x548e48], 0
je 0x4381b8
mov eax, dword [ebp + 0x10]
mov byte [eax], 0
push ebx
push dword [ebp + 0x10]
push dword [0x548e48]
call fcn.004bf445
jmp 0x438210
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebx + 8]
push esi
push edi
mov esi, edx
mov edi, ecx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
jmp 0x438210
mov eax, dword [ebp + 0x10]
mov edx, dword [ebx + 8]
push esi
push edi
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push 0x3a
push dword [ebp + 0x10]
call fcn.0051833c
add esp, 8
mov dword [edi], eax
cmp dword [edi], 0
je 0x438229
mov eax, dword [edi]
mov byte [eax], 0
mov edx, dword [ebp + 0x10]
cmp byte [edx], 0
jne 0x43824e
push dword [0x548e3c]
call fcn.0049dfbe
push 0
push 0
push dword [ebx]
push 0
call fcn.0045abd0
jmp 0x438eaf
mov ecx, dword [0x548e3c]
mov dword [0x548e38], ecx
jmp 0x4382eb
mov eax, dword [0x548e38]
mov edx, dword [eax]
push esi
push edi
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push 0x52b146
push esi
call fcn.005186f0
add esp, 8
mov dword [edi], eax
cmp dword [edi], 0
je 0x4382dc
mov eax, dword [edi]
mov byte [eax], 0
push esi
call fcn.004e5109
mov dword [0x548e30], esi
jmp 0x4382b7
inc dword [0x548e30]
mov edx, dword [0x548e30]
cmp byte [edx], 0x20
je 0x4382b1
mov eax, dword [0x548e30]
cmp byte [eax], 0
je 0x4382dc
push dword [ebp + 0x10]
push eax
call fcn.005185a0
add esp, 8
test eax, eax
je 0x4382f8
mov edx, dword [0x548e38]
mov ecx, dword [edx + 0x30]
mov dword [0x548e38], ecx
cmp dword [0x548e38], 0
jne 0x43825f
cmp dword [0x548e38], 0
jne 0x4383dc
mov eax, dword [ebp + 0x10]
mov edx, dword [ebx + 8]
push esi
push edi
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
mov eax, dword [0x548e3c]
mov dword [0x548e38], eax
jmp 0x4383cf
push 0x52b14f
mov edx, dword [0x548e38]
push dword [edx]
call fcn.005186f0
add esp, 8
mov dword [edi], eax
cmp dword [edi], 0
je 0x4383c0
add dword [edi], 7
jmp 0x438362
inc dword [edi]
mov ecx, dword [edi]
cmp byte [ecx], 0x20
je 0x438360
mov eax, dword [edi]
push esi
push edi
mov edi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push 0x3a
push esi
call fcn.0051833c
add esp, 8
mov dword [edi], eax
cmp dword [edi], 0
je 0x4383c0
mov eax, dword [edi]
mov byte [eax], 0
push esi
call fcn.004e5109
cmp byte [esi], 0
je 0x4383c0
push dword [ebp + 0x10]
push esi
call fcn.005185a0
add esp, 8
test eax, eax
je 0x4383dc
mov edx, dword [0x548e38]
mov ecx, dword [edx + 0x30]
mov dword [0x548e38], ecx
cmp dword [0x548e38], 0
jne 0x43833f
test byte [0x548e58], 1
je 0x438956
cmp dword [0x548e48], 0
je 0x438419
mov byte [esi], 0
push ebx
push esi
push dword [0x548e48]
call fcn.004bf445
push 0x52b158
push esi
call fcn.005185a0
add esp, 8
test eax, eax
jne 0x43847e
mov byte [esi], 0
jmp 0x43847e
mov byte [esi], 0
mov eax, dword [0x548e38]
test eax, eax
je 0x43847e
mov edx, dword [eax]
mov dword [edi], edx
jmp 0x43842d
inc dword [edi]
mov ecx, dword [edi]
cmp byte [ecx], 0x20
je 0x43842b
mov eax, dword [edi]
push esi
push edi
mov edi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push 0x52b15e
push esi
call fcn.005186f0
add esp, 8
mov dword [edi], eax
cmp dword [edi], 0
je 0x43847b
mov eax, dword [edi]
mov byte [eax], 0
push esi
call fcn.004e5109
jmp 0x43847e
mov byte [esi], 0
cmp byte [esi], 0
jne 0x4384a9
mov edx, dword [ebx + 8]
push esi
push edi
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
mov eax, dword [ebp + 0x10]
push esi
push edi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
cmp dword [0x548e4c], 0
je 0x43850a
mov eax, dword [0x548e4c]
mov edx, dword [ebx + eax*4]
push esi
push edi
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
jmp 0x4385e3
mov byte [esi], 0
cmp dword [0x548e38], 0
je 0x4385cf
push 0x52b167
mov eax, dword [0x548e38]
push dword [eax]
call fcn.005186f0
add esp, 8
mov dword [edi], eax
cmp dword [edi], 0
je 0x4385cf
add dword [edi], 7
push 0x3a
push dword [edi]
call fcn.0051833c
add esp, 8
mov dword [0x548e30], eax
cmp dword [0x548e30], 0
je 0x4385cf
inc dword [0x548e30]
jmp 0x438564
inc dword [0x548e30]
mov edx, dword [0x548e30]
cmp byte [edx], 0x20
je 0x43855e
mov ecx, dword [0x548e30]
push esi
push edi
mov edi, ecx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push 0x52b170
push esi
call fcn.005186f0
add esp, 8
mov dword [edi], eax
cmp dword [edi], 0
je 0x4385b2
mov eax, dword [edi]
mov byte [eax], 0
push 0x3a
push esi
call fcn.0051833c
add esp, 8
mov dword [edi], eax
cmp dword [edi], 0
je 0x4385c9
mov edx, dword [edi]
mov byte [edx], 0
push esi
call fcn.004e5109
cmp byte [esi], 0
jne 0x4385e3
push esi
push edi
mov edi, esi
mov esi, 0x52b178
mov eax, edi
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
push esi
push dword [ebx + 8]
push str.SERVER:_s:_s
push dword [ebp + 0x10]
call fcn.005183dc
pop ecx
add eax, dword [ebp + 0x10]
push eax
call sub.USER32.dll_wsprintfA
add esp, 0x10
cmp dword [0x548e50], 0
je 0x438654
mov edx, dword [0x548e50]
mov ecx, dword [ebx + edx*4]
push esi
push edi
mov edi, ecx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push 0x52b18c
push esi
call fcn.005185a0
add esp, 8
test eax, eax
jne 0x438717
mov byte [esi], 0
jmp 0x438717
mov byte [esi], 0
cmp dword [0x548e38], 0
je 0x438717
push 0x52b192
mov eax, dword [0x548e38]
push dword [eax]
call fcn.005186f0
add esp, 8
mov dword [edi], eax
cmp dword [edi], 0
je 0x438717
add dword [edi], 7
push 0x3a
push dword [edi]
call fcn.0051833c
add esp, 8
mov dword [0x548e30], eax
cmp dword [0x548e30], 0
je 0x438717
inc dword [0x548e30]
push 0x52b19b
push dword [0x548e30]
call fcn.005186f0
add esp, 8
mov dword [edi], eax
cmp dword [edi], 0
je 0x438717
mov edx, dword [edi]
mov byte [edx], 0
push 0x3a
push dword [0x548e30]
call fcn.0051833c
add esp, 8
mov dword [0x548e34], eax
cmp dword [0x548e34], 0
je 0x438712
inc dword [0x548e34]
mov ecx, dword [0x548e34]
push esi
push edi
mov edi, ecx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
mov eax, dword [edi]
mov byte [eax], 0x47
cmp byte [esi], 0
je 0x438737
push esi
push 0x52b1a3
push dword [ebp + 0x10]
call fcn.005183dc
pop ecx
add eax, dword [ebp + 0x10]
push eax
call sub.USER32.dll_wsprintfA
add esp, 0xc
cmp dword [0x548e54], 0
je 0x438783
mov edx, dword [0x548e54]
mov ecx, dword [ebx + edx*4]
push esi
push edi
mov edi, ecx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push 0x52b1a8
push esi
call fcn.005185a0
add esp, 8
test eax, eax
jne 0x4387e3
mov byte [esi], 0
jmp 0x4387e3
mov byte [esi], 0
cmp dword [0x548e38], 0
je 0x4387e3
push 0x52b1ae
mov eax, dword [0x548e38]
push dword [eax]
call fcn.005186f0
add esp, 8
mov dword [edi], eax
cmp dword [edi], 0
je 0x4387e3
add dword [edi], 6
jmp 0x4387b1
inc dword [edi]
mov edx, dword [edi]
cmp byte [edx], 0x20
je 0x4387af
mov ecx, dword [edi]
push esi
push edi
mov edi, ecx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push esi
call fcn.004e5109
cmp byte [esi], 0
je 0x438803
push esi
push str.GROUP:_s
push dword [ebp + 0x10]
call fcn.005183dc
pop ecx
add eax, dword [ebp + 0x10]
push eax
call sub.USER32.dll_wsprintfA
add esp, 0xc
cmp dword [0x548e38], 0
je 0x4388e6
push dword [ebp + 0x10]
call fcn.005183dc
pop ecx
add eax, 2
push eax
call fcn.00524378
pop ecx
mov dword [edi], eax
cmp dword [edi], 0
jne 0x438847
push dword [0x548e3c]
call fcn.0049dfbe
push 2
push 0
push dword [ebx]
push 0
call fcn.0045abd0
jmp 0x438eaf
mov eax, dword [0x548e38]
push dword [eax]
call fcn.00524270
pop ecx
mov edx, dword [0x548e38]
mov ecx, dword [edi]
mov dword [edx], ecx
mov eax, dword [0x548e38]
mov edx, dword [eax]
mov ecx, dword [ebp + 0x10]
push esi
push edi
mov esi, edx
mov edi, ecx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
cmp dword [ebp + 0x18], 0
je 0x438a2c
push 0x52b1c0
push dword [ebp + 0x10]
call fcn.005186f0
add esp, 8
mov ebx, eax
mov dword [edi], ebx
test ebx, ebx
je 0x4388b2
mov byte [ebx], 0
push dword [ebp + 0x10]
push 0
push 0x39f
call fcn.00415c87
push eax
push esi
call sub.USER32.dll_wsprintfA
add esp, 0xc
xor eax, eax
mov dword [0x534c34], eax
push dword [0x52a380]
push esi
push dword [ebp + 8]
call fcn.004c8c63
jmp 0x438a2c
push 0
push 0
push dword [ebp + 0x10]
push dword [0x548e3c]
call fcn.0049d9f0
mov dword [0x548e3c], eax
cmp dword [ebp + 0x18], 0
je 0x438a2c
push 0x52b1c9
push dword [ebp + 0x10]
call fcn.005186f0
add esp, 8
mov ebx, eax
mov dword [edi], ebx
test ebx, ebx
je 0x438922
mov byte [ebx], 0
push dword [ebp + 0x10]
push 0
push 0x3a0
call fcn.00415c87
push eax
push esi
call sub.USER32.dll_wsprintfA
add esp, 0xc
xor eax, eax
mov dword [0x534c34], eax
push dword [0x52a380]
push esi
push dword [ebp + 8]
call fcn.004c8c63
jmp 0x438a2c
cmp dword [0x548e38], 0
jne 0x4389c6
cmp dword [ebp + 0x18], 0
je 0x4389b1
push 0x52b1d2
push dword [ebp + 0x10]
call fcn.005186f0
add esp, 8
mov dword [edi], eax
cmp dword [edi], 0
je 0x438981
mov edx, dword [edi]
mov byte [edx], 0
push dword [ebp + 0x10]
push 0
push 0x3a1
call fcn.00415c87
push eax
push esi
call sub.USER32.dll_wsprintfA
add esp, 0xc
xor ecx, ecx
mov dword [0x534c34], ecx
push dword [0x52a380]
push esi
push dword [ebp + 8]
call fcn.004c8c63
push dword [0x548e3c]
call fcn.0049dfbe
mov eax, 1
jmp 0x438eaf
push dword [0x548e38]
push dword [0x548e3c]
call fcn.0049dd87
mov dword [0x548e3c], eax
cmp dword [ebp + 0x18], 0
je 0x438a2c
push 0x52b1db
push dword [ebp + 0x10]
call fcn.005186f0
add esp, 8
mov ebx, eax
mov dword [edi], ebx
test ebx, ebx
je 0x4389fd
mov byte [ebx], 0
push dword [ebp + 0x10]
push 0
push 0x3a2
call fcn.00415c87
push eax
push esi
call sub.USER32.dll_wsprintfA
add esp, 0xc
xor eax, eax
mov dword [0x534c34], eax
push dword [0x52a380]
push esi
push dword [ebp + 8]
call fcn.004c8c63
cmp dword [0x548e5c], 0
je 0x438a47
push 1
push dword [0x548e3c]
call fcn.004e3f0c
mov dword [0x548e3c], eax
push dword [0x548e3c]
push 0x52b1e4
push 0x55ff50
call fcn.0046211c
push dword [0x548e3c]
call fcn.0049dfbe
mov eax, 1
jmp 0x438eaf
push dword [0x535950]
call fcn.0049dfbe
xor edx, edx
mov dword [0x535950], edx
mov eax, dword [ebx + 4]
test eax, eax
je 0x438d1f
mov byte [0x533bc4], 0
mov byte [0x533cf0], 0
mov byte [0x533d54], 0
mov byte [0x533c28], 0
mov dx, word [0x533e1e]
mov word [0x533e1c], dx
push 0x2e
push eax
call fcn.0051833c
add esp, 8
test eax, eax
jne 0x438b9d
push dword [ebx + 4]
call fcn.004bf238
test eax, eax
jne 0x438af5
push dword [ebx + 4]
call fcn.004de6d8
test eax, eax
je 0x438b9d
push dword [ebp + 0x10]
call fcn.004de2ff
jmp 0x438d7a
push dword [ebx + 4]
call fcn.0052175c
pop ecx
mov edi, eax
mov dword [0x548e40], edi
test edi, edi
jle 0x438b80
dec edi
push edi
push 0x52b1ef
push esi
call sub.USER32.dll_wsprintfA
add esp, 0xc
push 0x55ff50
push 0x180
push dword [ebp + 0x10]
push 0x52b1fd
push esi
push str.Servers
call sub.KERNEL32.dll_GetPrivateProfileStringA
mov eax, dword [ebp + 0x10]
cmp byte [eax], 0
jne 0x438b5c
push 6
push 0
push 0
push 0x3a3
call fcn.00415c87
push eax
push 0
call fcn.0045abd0
jmp 0x438eaf
push 0
push 0
push dword [ebp + 0x10]
push dword [0x535950]
call fcn.0049d9f0
mov dword [0x535950], eax
push dword [ebp + 0x10]
call fcn.004de118
jmp 0x438d7a
push 6
push 0
push 0
push 0x3a4
call fcn.00415c87
push eax
push 0
call fcn.0045abd0
jmp 0x438eaf
push 0x3a
push dword [ebx + 4]
call fcn.0051833c
add esp, 8
mov dword [edi], eax
cmp dword [edi], 0
je 0x438bc3
mov edx, dword [edi]
mov byte [edx], 0
inc dword [edi]
mov ecx, dword [edi]
cmp byte [ecx], 0
jne 0x438bc3
xor eax, eax
mov dword [edi], eax
mov edx, dword [ebx + 4]
push esi
push edi
mov esi, 0x533cf0
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push esi
push edi
mov esi, 0x533bc4
mov edi, 0x533cf0
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
cmp dword [edi], 0
je 0x438c77
push dword [edi]
call fcn.0052175c
pop ecx
mov word [0x533e1c], ax
cmp word [0x533e1c], 0
ja 0x438c42
mov ax, word [0x533e1e]
mov word [0x533e1c], ax
cmp dword [ebx + 8], 0
je 0x438cdf
mov edx, dword [ebx + 8]
push esi
mov esi, 0x533d54
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x438cdf
cmp dword [ebx + 8], 0
je 0x438cd3
push dword [ebx + 8]
call fcn.0052175c
pop ecx
mov word [0x533e1c], ax
cmp word [0x533e1c], 0
ja 0x438ca2
mov ax, word [0x533e1e]
mov word [0x533e1c], ax
cmp dword [ebx + 0xc], 0
je 0x438cdf
mov edx, dword [ebx + 0xc]
push esi
mov esi, 0x533d54
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x438cdf
mov ax, word [0x533e1e]
mov word [0x533e1c], ax
push 0x533d54
movzx edx, word [0x533e1c]
push edx
push 0x533cf0
push 0x533bc4
push 0x52b201
push dword [ebp + 0x10]
call sub.USER32.dll_wsprintfA
add esp, 0x18
push 0
push 0
push dword [ebp + 0x10]
push dword [0x535950]
call fcn.0049d9f0
mov dword [0x535950], eax
jmp 0x438d7a
cmp byte [0x533cf0], 0
je 0x438d7a
cmp byte [0x533bc4], 0
je 0x438d39
mov dword [edi], 0x533bc4
jmp 0x438d3f
mov dword [edi], 0x533cf0
push 0x533d54
movzx ecx, word [0x533e1c]
push ecx
push 0x533cf0
push dword [edi]
push 0x52b214
push dword [ebp + 0x10]
call sub.USER32.dll_wsprintfA
add esp, 0x18
push 0
push 0
push dword [ebp + 0x10]
push dword [0x535950]
call fcn.0049d9f0
mov dword [0x535950], eax
cmp byte [0x533cf0], 0
je 0x438ea2
cmp dword [0x52b4d0], 0
je 0x438e06
mov dword [0x534c44], 1
push dword [0x52a380]
push 0
push 0x5e4
call fcn.00415c87
push eax
push dword [0x537430]
call fcn.004c7cd0
push dword [0x52a380]
push dword [0x537430]
call fcn.004c7b7f
push 0x52b227
call fcn.004fdac4
test eax, eax
je 0x438df0
push 0
push 0x3e8
push 0x7c
push dword [0x537420]
call sub.USER32.dll_SetTimer
jmp 0x438e9b
push 0
push 0x64
push 0x7c
push dword [0x537420]
call sub.USER32.dll_SetTimer
jmp 0x438e9b
push 0
call fcn.0043d398
test eax, eax
je 0x438e8a
push esi
push dword [ebp + 0x10]
call fcn.004fef0c
mov dword [0x534c44], 1
push dword [0x52a380]
push 0
push 0x5e3
call fcn.00415c87
push eax
push dword [0x537430]
call fcn.004c7cd0
push dword [0x52a380]
push dword [0x537430]
call fcn.004c7b7f
push 0x52b22b
call fcn.004fdac4
test eax, eax
je 0x438e77
push 0
push 0x3e8
push 0x7c
push dword [0x537420]
call sub.USER32.dll_SetTimer
jmp 0x438e9b
push 0
push 0x64
push 0x7c
push dword [0x537420]
call sub.USER32.dll_SetTimer
jmp 0x438e9b
push 0
push 0x64
push 0x7c
push dword [0x537420]
call sub.USER32.dll_SetTimer
mov eax, 1
jmp 0x438eaf
push 0
push 0
push dword [ebx]
push 0
call fcn.0045abd0
pop edi
pop esi
pop ebx
pop ebp
ret 0x14