Function at 0x52dbe0
Capabilities:
Parse credit card information

Disassembly:
sub esp, 0xfa8
push ebp
lea eax, [esp + 0xc]
push 0x3e7
push eax
call fcn.00423a00
lea ecx, [esp + 0x3fc]
push 0x3e7
push ecx
call fcn.00423a00
mov ebp, dword [esp + 0xfd4]
mov eax, dword [ebp + 0x3f0]
add esp, 0x10
dec eax
cmp eax, 0x4d
ja case.default.0x52dc2c
movzx edx, byte [eax + 0x531984]
push ebx
push esi
push edi
jmp dword [edx*4 + 0x5318c0]
mov edi, dword [esp + 0xfbc]
push ebp
push edi
call fcn.0052dab0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
je case.0x52dc2c.49
mov eax, dword [ebp + 0xc7c]
test eax, eax
mov dword [esp + 0x14], 2
mov byte [esp + 0x400], 0
je 0x52dd0f
lea ebx, [eax + 8]
mov eax, dword [ebx]
test eax, eax
je 0x52dd0f
lea ecx, [esp + 0x400]
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x52dc85
sub ecx, esi
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x52dc91
sub eax, esi
add eax, ecx
cmp eax, 0x3e7
ja 0x52dd0f
cmp dword [esp + 0x14], 2
jle 0x52dcc3
lea edi, [esp + 0x400]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x52dcb2
mov ax, word [0x5e7420]
mov word [edi], ax
mov eax, dword [ebx]
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x52dcc7
lea edi, [esp + 0x400]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x52dcd8
mov edx, dword [esp + 0x14]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [ebp + 0xc7c]
and ecx, 3
inc edx
add ebx, 4
test eax, eax
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0xfbc]
mov dword [esp + 0x14], edx
jne 0x52dc71
mov al, byte [edi]
cmp al, 0x24
jne 0x52dd34
cmp byte [edi + 1], 0x28
jne 0x52dd34
push ebp
lea ecx, [esp + 0x404]
push ecx
lea edx, [esp + 0x20]
push edx
push edi
call fcn.0052d3a0
add esp, 0x10
jmp 0x52dd48
cmp al, 0x25
jne 0x52dd54
push 0
lea eax, [esp + 0x1c]
push eax
push edi
call fcn.0057df60
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
lea edi, [esp + 0x18]
push ebp
lea ecx, [esp + 0x404]
push ecx
push edi
call fcn.0052d480
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
mov ebx, dword [esp + 0x10]
push ebp
push ebx
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
lea edx, [ebp + 0x80c]
mov eax, edi
sub edx, edi
mov edi, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52dd90
mov esi, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
mov byte [esi], cl
mov byte [ebp + 0x4d4], cl
mov eax, ebx
sub edx, ebx
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52ddb4
mov edx, esi
lea ecx, [esp + 0x400]
lea eax, [esp + 0x400]
sub edx, ecx
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52ddd0
mov eax, 0x31
lea edx, [ebp + 8]
push edx
mov word [ebp + 0x7da], ax
mov word [ebp + 0x7a8], ax
call fcn.005cbe51
mov ecx, dword [esp + 0xfcc]
add esp, 4
pop edi
mov dword [ebp + 0x3f4], eax
mov eax, dword [esp + 0xfc8]
pop esi
pop ebx
mov dword [ecx], eax
pop ebp
add esp, 0xfa8
ret
mov eax, dword [ebp + 0xc7c]
test eax, eax
je case.0x52dc2c.49
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x52de43
push ebp
call fcn.0052d900
add esp, 4
test eax, eax
jne case.0x52dc2c.49
mov eax, dword [ebp + 0x404]
test eax, eax
je 0x52de5e
push ebp
call fcn.0052d960
add esp, 4
test eax, eax
je case.0x52dc2c.49
mov esi, dword [esp + 0xfbc]
movzx edx, byte [esi]
push edx
push 0x5ee9cc
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x52dea8
push ebp
push esi
call fcn.0052dab0
mov edi, eax
add esp, 8
test edi, edi
je 0x52dea8
mov eax, dword [ebp + 0xc7c]
mov ecx, dword [eax + 8]
push ebp
push ecx
push esi
call fcn.0052d510
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
mov esi, edi
push ebp
push esi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
mov ebx, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
mov byte [ebx], al
lea edi, [ebp + 0x4d4]
mov byte [edi], al
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52ded6
mov cl, byte [ebp + 8]
cmp cl, 0x20
lea eax, [ebp + 8]
jne 0x52def9
jmp 0x52def0
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x52def0
cmp byte [eax], 0
je 0x52df0c
mov edx, ebx
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52df02
mov edx, dword [ebp + 0x1c44]
mov eax, dword [ebp + 0xc7c]
mov ecx, dword [eax + 8]
push edx
push ecx
call fcn.00522500
add esp, 8
test al, al
je 0x52df3e
mov edx, dword [ebp + 0xc7c]
mov ecx, dword [edx + 8]
mov edx, edi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x52df34
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52df50
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52df68
mov eax, dword [esp + 0xfcc]
mov ecx, dword [esp + 0xfc8]
pop edi
pop esi
pop ebx
mov dword [ecx], eax
pop ebp
add esp, 0xfa8
ret
mov esi, dword [esp + 0xfbc]
cmp byte [esi], 0x20
jne 0x52dfa8
lea esp, [esp]
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x52dfa0
cmp byte [esi], 0
je case.0x52dc2c.49
push ebp
push esi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
mov edx, dword [esp + 0xfc4]
mov byte [edx], al
mov edx, dword [esp + 0xfc0]
mov byte [ebp + 0x4d4], al
mov eax, esi
sub edx, esi
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52dfe0
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52dff8
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52e010
mov eax, dword [esp + 0xfcc]
mov ecx, dword [esp + 0xfc8]
pop edi
pop esi
pop ebx
mov dword [ecx], eax
pop ebp
add esp, 0xfa8
ret
mov eax, dword [ebp + 0xc7c]
test eax, eax
je case.0x52dc2c.49
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x52e05e
push ebp
call fcn.0052d900
add esp, 4
test eax, eax
jne case.0x52dc2c.49
mov eax, dword [ebp + 0x404]
test eax, eax
je 0x52e079
push ebp
call fcn.0052d960
add esp, 4
test eax, eax
je case.0x52dc2c.49
mov ebx, dword [esp + 0xfbc]
push 0x3a
push ebx
call fcn.005cbf10
mov esi, eax
add esp, 8
test esi, esi
je case.0x52dc2c.49
mov byte [esi], 0
mov al, byte [ebx]
cmp al, 0x24
jne 0x52e0bf
cmp byte [ebx + 1], 0x28
jne 0x52e0bf
mov edx, dword [ebp + 0xc7c]
mov eax, dword [edx + 0xc]
push ebp
push eax
lea ecx, [esp + 0x20]
push ecx
push ebx
call fcn.0052d3a0
add esp, 0x10
jmp 0x52e0d3
cmp al, 0x25
jne 0x52e0df
push 0
lea edx, [esp + 0x1c]
push edx
push ebx
call fcn.0057df60
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
lea ebx, [esp + 0x18]
mov eax, dword [ebp + 0xc7c]
mov ecx, dword [eax + 0xc]
push ebp
push ecx
push ebx
call fcn.0052d480
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x52e10b
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x52e103
cmp byte [esi], 0
je case.0x52dc2c.49
push ebp
push esi
call fcn.0052dab0
mov edi, eax
add esp, 8
test edi, edi
je case.0x52dc2c.49
mov edx, dword [ebp + 0xc7c]
mov eax, dword [edx + 8]
push ebp
push eax
push esi
call fcn.0052d510
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
push ebp
push edi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
lea edx, [ebp + 0x80c]
mov eax, ebx
sub edx, ebx
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52e160
mov ebx, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
lea esi, [ebp + 0x4d4]
mov byte [ebx], cl
mov byte [esi], cl
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52e186
mov ecx, dword [ebp + 0xc7c]
mov ecx, dword [ecx + 0xc]
test ecx, ecx
je 0x52e1aa
mov edx, ebx
nop
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x52e1a0
mov edx, dword [ebp + 0x1c44]
mov eax, dword [ebp + 0xc7c]
mov ecx, dword [eax + 8]
push edx
push ecx
call fcn.00522500
add esp, 8
test al, al
je 0x52e1dc
mov edx, dword [ebp + 0xc7c]
mov ecx, dword [edx + 8]
mov edx, esi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x52e1d2
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52e1f0
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52e208
mov eax, dword [esp + 0xfcc]
mov ecx, dword [esp + 0xfc8]
pop edi
pop esi
pop ebx
mov dword [ecx], eax
pop ebp
add esp, 0xfa8
ret
mov edi, dword [esp + 0xfbc]
push ebp
push edi
call fcn.0052dab0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
je case.0x52dc2c.49
mov edx, dword [ebp + 0x1468]
push edx
call fcn.005827d0
add esp, 4
test eax, eax
je case.0x52dc2c.49
mov cl, byte [edi]
cmp cl, 0x23
lea ebx, [eax + 8]
mov esi, ebx
jne 0x52e276
cmp dword [eax + 0x71c], 1
jmp 0x52e2e5
cmp cl, 0x3f
jne 0x52e29c
mov edx, dword [eax + 0x71c]
mov ecx, 2
cmp edx, ecx
jne case.0x52dc2c.49
cmp dword [eax + 0x720], ecx
jg case.0x52dc2c.49
jmp 0x52e2eb
cmp cl, 0x3d
jne 0x52e2bd
cmp dword [eax + 0x71c], 2
jne case.0x52dc2c.49
cmp dword [eax + 0x720], 3
jne case.0x52dc2c.49
jmp 0x52e2ef
cmp cl, 0x21
jne 0x52e2de
cmp dword [eax + 0x71c], 2
jne case.0x52dc2c.49
cmp dword [eax + 0x720], 4
jne case.0x52dc2c.49
jmp 0x52e2ef
cmp cl, 0x40
jne 0x52e2eb
cmp byte [ebx], cl
jne case.0x52dc2c.49
test esi, esi
jne 0x52e312
mov al, byte [edi + 1]
test al, al
je 0x52e2f7
inc edi
push 0x20
push ebx
call fcn.005cbf10
mov esi, eax
add esp, 8
test esi, esi
je 0x52e310
inc esi
je 0x52e310
cmp byte [esi], 0
jne 0x52e312
mov esi, ebx
push ebp
push esi
push edi
call fcn.0052d480
add esp, 0xc
test eax, eax
jne 0x52e334
push ebp
push esi
push edi
call fcn.0052d510
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
mov esi, dword [esp + 0x10]
push ebp
push esi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
lea edx, [ebp + 0x80c]
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52e354
mov eax, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
mov byte [eax], cl
mov byte [ebp + 0x4d4], cl
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52e378
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52e390
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52e3a8
jmp 0x5318a2
mov esi, dword [esp + 0xfbc]
cmp byte [esi], 0x20
jne 0x52e3cb
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x52e3c3
cmp byte [esi], 0
je case.0x52dc2c.49
push ebp
push esi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
mov eax, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
mov byte [eax], 0
mov byte [ebp + 0x4d4], 0
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52e402
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52e420
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52e438
jmp 0x5318a2
mov esi, dword [esp + 0xfbc]
cmp byte [esi], 0x20
jne 0x52e45b
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x52e453
cmp byte [esi], 0
je case.0x52dc2c.49
push ebp
push esi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
mov eax, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
mov byte [eax], 0
mov byte [ebp + 0x4d4], 0
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52e492
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52e4b0
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52e4c8
jmp 0x5318a2
mov eax, dword [ebp + 0xc88]
push eax
call fcn.00434440
add esp, 4
test eax, eax
je case.0x52dc2c.49
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x52e509
push ebp
call fcn.0052d900
add esp, 4
test eax, eax
jne case.0x52dc2c.49
mov esi, dword [esp + 0xfbc]
push ebp
push esi
call fcn.0052dab0
mov edi, eax
add esp, 8
test edi, edi
je case.0x52dc2c.49
mov al, byte [esi]
cmp al, 0x24
jne 0x52e54b
cmp byte [esi + 1], 0x28
jne 0x52e54b
mov ecx, dword [ebp + 0xc88]
push ebp
add ecx, 4
push ecx
lea edx, [esp + 0x20]
push edx
push esi
call fcn.0052d3a0
add esp, 0x10
jmp 0x52e55f
cmp al, 0x25
jne 0x52e56b
push 0
lea eax, [esp + 0x1c]
push eax
push esi
call fcn.0057df60
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
lea esi, [esp + 0x18]
mov ecx, dword [ebp + 0xc88]
push ebp
add ecx, 4
push ecx
push esi
call fcn.0052d480
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
push ebp
push edi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
lea edx, [ebp + 0x80c]
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52e5a3
mov edx, dword [esp + 0xfc4]
mov esi, dword [esp + 0xfc0]
mov byte [edx], cl
mov byte [ebp + 0x4d4], cl
mov eax, edi
sub esi, edi
mov cl, byte [eax]
mov byte [eax + esi], cl
inc eax
test cl, cl
jne 0x52e5c7
mov eax, dword [ebp + 0xc88]
add eax, 4
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x52e5e0
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52e5f8
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52e610
mov edx, dword [esp + 0xfcc]
mov eax, dword [esp + 0xfc8]
pop edi
pop esi
pop ebx
mov dword [eax], edx
pop ebp
add esp, 0xfa8
ret
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x52e650
push ebp
call fcn.0052d900
add esp, 4
test eax, eax
jne case.0x52dc2c.49
mov esi, dword [esp + 0xfbc]
push ebp
push esi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
push ebp
push esi
call fcn.0052dab0
mov ebx, eax
add esp, 8
test ebx, ebx
je case.0x52dc2c.49
mov al, byte [esi]
cmp al, 0x24
jne 0x52e69c
cmp byte [esi + 1], 0x28
jne 0x52e69c
push ebp
push 0
lea ecx, [esp + 0x20]
push ecx
push esi
call fcn.0052d3a0
add esp, 0x10
jmp 0x52e6b0
cmp al, 0x25
jne 0x52e6bc
push 0
lea edx, [esp + 0x1c]
push edx
push esi
call fcn.0057df60
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
lea esi, [esp + 0x18]
mov eax, dword [ebp + 0x1468]
push eax
call fcn.005827d0
add esp, 4
test eax, eax
je 0x52e6e2
mov ecx, dword [eax + 0x71c]
test ecx, ecx
jne 0x52e6e2
cmp byte [esi], 0x2a
jne case.0x52dc2c.49
mov al, byte [esi]
cmp al, 0x3f
jne 0x52e6fe
mov ecx, dword [ebp + 0xc88]
push ecx
call fcn.00434440
add esp, 4
test eax, eax
jmp 0x52e789
cmp al, 0x40
jne 0x52e715
mov edx, dword [ebp + 0xc88]
push edx
call fcn.00434440
add esp, 4
test eax, eax
jmp 0x52e789
cmp al, 0x3d
jne 0x52e746
mov eax, dword [ebp + 0xc88]
push eax
call fcn.00434440
add esp, 4
test eax, eax
je case.0x52dc2c.49
mov ecx, dword [ebp + 0xc88]
mov eax, dword [ecx + 0x540]
test eax, eax
jne case.0x52dc2c.49
jmp 0x52e775
cmp al, 0x21
jne 0x52e787
mov eax, dword [ebp + 0xc88]
push eax
call fcn.00434440
add esp, 4
test eax, eax
je case.0x52dc2c.49
mov ecx, dword [ebp + 0xc88]
mov eax, dword [ecx + 0x540]
test eax, eax
je case.0x52dc2c.49
mov al, byte [esi + 1]
inc esi
test al, al
je 0x52e7b7
push ebp
lea edx, [ebp + 0x40c]
push edx
jmp 0x52e7a6
cmp al, 0x2a
jne case.0x52dc2c.49
push ebp
lea edi, [ebp + 0x40c]
push edi
push esi
call fcn.0052d480
add esp, 0xc
test eax, eax
jne 0x52e7b7
push ebp
push edi
push esi
call fcn.0052d510
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
lea eax, [esp + 0x7e8]
push 0x3e7
push eax
call fcn.00423a00
lea ecx, [esp + 0xbd8]
push 0x3e7
push ecx
call fcn.00423a00
mov eax, dword [ebp + 0x1468]
add esp, 0x10
test eax, eax
jne 0x52e8c5
mov eax, dword [ebp + 0xc7c]
test eax, eax
je 0x52e8c5
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x52e8c5
push 0x3a
push ebx
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x52e8c5
mov byte [eax], 0
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
jne 0x52e82d
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x52e824
cmp byte [eax], 0
je case.0x52dc2c.49
lea edx, [esp + 0xbd0]
sub edx, eax
nop
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52e840
mov al, byte [ebx]
cmp al, 0x24
jne 0x52e86c
cmp byte [ebx + 1], 0x28
jne 0x52e86c
push ebp
push 0
lea edx, [esp + 0x7f0]
push edx
push ebx
call fcn.0052d3a0
add esp, 0x10
jmp 0x52e883
cmp al, 0x25
jne 0x52e892
push 0
lea eax, [esp + 0x7ec]
push eax
push ebx
call fcn.0057df60
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
lea ebx, [esp + 0x7e8]
mov ecx, dword [ebp + 0xc7c]
mov edx, dword [ecx + 0xc]
push ebp
push edx
push ebx
call fcn.0052d480
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
mov edx, esi
mov eax, ebx
sub edx, ebx
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52e8b4
lea ebx, [esp + 0xbd0]
push ebp
push ebx
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
lea edx, [ebp + 0x80c]
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52e8e1
mov edx, dword [esp + 0xfc4]
mov esi, dword [esp + 0xfc0]
mov byte [edx], cl
mov byte [ebp + 0x4d4], cl
mov eax, ebx
sub esi, ebx
mov cl, byte [eax]
mov byte [eax + esi], cl
inc eax
test cl, cl
jne 0x52e905
mov eax, dword [ebp + 0x1468]
test eax, eax
jne 0x52e93a
mov eax, dword [ebp + 0xc7c]
test eax, eax
je 0x52e93a
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x52e93a
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x52e930
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52e948
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52e960
mov eax, dword [esp + 0xfcc]
mov ecx, dword [esp + 0xfc8]
pop edi
pop esi
pop ebx
mov dword [ecx], eax
pop ebp
add esp, 0xfa8
ret
mov esi, dword [esp + 0xfbc]
cmp byte [esi], 0x20
jne 0x52e999
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x52e991
cmp byte [esi], 0
je case.0x52dc2c.49
push ebp
push esi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
mov edx, dword [esp + 0xfc4]
mov byte [edx], al
mov edx, dword [esp + 0xfc0]
mov byte [ebp + 0x4d4], al
mov eax, esi
sub edx, esi
mov edi, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52e9d0
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52e9e8
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x52ea00
mov eax, dword [esp + 0xfcc]
mov ecx, dword [esp + 0xfc8]
pop edi
pop esi
pop ebx
mov dword [ecx], eax
pop ebp
add esp, 0xfa8
ret
mov esi, dword [esp + 0xfbc]
cmp byte [esi], 0x20
jne 0x52ea39
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x52ea31
cmp byte [esi], 0
je case.0x52dc2c.49
push ebp
push esi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
mov edi, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
mov byte [edi], al
mov byte [ebp + 0x4d4], al
mov eax, esi
sub edx, esi
mov edi, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x52ea70
lea eax, [ebp + 0xc98]
mov edx, edi
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x52ea84
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x52eaa0
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x52eab8
mov edx, dword [esp + 0xfcc]
mov eax, dword [esp + 0xfc8]
pop edi
pop esi
pop ebx
mov dword [eax], edx
pop ebp
add esp, 0xfa8
ret
mov eax, dword [ebp + 0xc7c]
test eax, eax
je case.0x52dc2c.49
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x52eb06
push ebp
call fcn.0052d900
add esp, 4
test eax, eax
jne case.0x52dc2c.49
mov esi, dword [esp + 0xfbc]
push ebp
push esi
call fcn.0052dab0
mov edi, eax
add esp, 8
test edi, edi
je case.0x52dc2c.49
mov al, byte [esi]
cmp al, 0x24
jne 0x52eb48
cmp byte [esi + 1], 0x28
jne 0x52eb48
mov ecx, dword [ebp + 0xc7c]
mov edx, dword [ecx + 0xc]
push ebp
push edx
lea eax, [esp + 0x20]
push eax
push esi
call fcn.0052d3a0
add esp, 0x10
jmp 0x52eb5c
cmp al, 0x25
jne 0x52eb68
push 0
lea ecx, [esp + 0x1c]
push ecx
push esi
call fcn.0057df60
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
lea esi, [esp + 0x18]
mov edx, dword [ebp + 0xc7c]
mov eax, dword [edx + 0xc]
push ebp
push eax
push esi
call fcn.0052d480
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
push ebp
push edi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
lea edx, [ebp + 0x80c]
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52eba0
mov ebx, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
lea esi, [ebp + 0x4d4]
mov byte [ebx], cl
mov byte [esi], cl
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52ebc6
mov ecx, dword [ebp + 0xc7c]
mov ecx, dword [ecx + 0xc]
mov edx, ebx
jmp 0x52ebe0
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x52ebe0
mov edx, dword [ebp + 0x1c44]
mov eax, dword [ebp + 0xc7c]
mov ecx, dword [eax + 8]
push edx
push ecx
call fcn.00522500
add esp, 8
test al, al
je 0x52ec1c
mov edx, dword [ebp + 0xc7c]
mov ecx, dword [edx + 8]
mov edx, esi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x52ec12
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52ec30
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52ec48
mov eax, dword [esp + 0xfcc]
mov ecx, dword [esp + 0xfc8]
pop edi
pop esi
pop ebx
mov dword [ecx], eax
pop ebp
add esp, 0xfa8
ret
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x52ec88
push ebp
call fcn.0052d900
add esp, 4
test eax, eax
jne case.0x52dc2c.49
mov edx, dword [ebp + 0xc88]
push edx
call fcn.00434440
add esp, 4
test eax, eax
jne 0x52ecb2
mov eax, dword [ebp + 0xc84]
push eax
call fcn.0049c8e0
add esp, 4
test eax, eax
je case.0x52dc2c.49
mov esi, dword [esp + 0xfbc]
push ebp
push esi
call fcn.0052dab0
mov edi, eax
add esp, 8
test edi, edi
je case.0x52dc2c.49
mov ecx, dword [ebp + 0xc88]
push ecx
call fcn.00434440
add esp, 4
test eax, eax
je 0x52ed20
mov edx, dword [ebp + 0xc88]
mov eax, dword [edx + 0x540]
test eax, eax
je 0x52ed13
mov cx, word [0x5ee9c8]
mov dl, byte [0x5ee9ca]
mov eax, dword [str.FSERVE]
mov word [esp + 0x404], cx
mov byte [esp + 0x406], dl
jmp 0x52ed45
mov eax, dword [str.CHAT]
mov cl, byte [0x5e8420]
jmp 0x52ed3e
mov edx, dword [ebp + 0xc84]
push edx
call fcn.0049c8e0
add esp, 4
test eax, eax
je 0x52ed4c
mov eax, dword [str.SEND]
mov cl, byte [0x5ee9c0]
mov byte [esp + 0x404], cl
mov dword [esp + 0x400], eax
mov al, byte [esi]
cmp al, 0x24
jne 0x52ed6b
cmp byte [esi + 1], 0x28
jne 0x52ed6b
push ebp
push 0
lea edx, [esp + 0x20]
push edx
push esi
call fcn.0052d3a0
add esp, 0x10
jmp 0x52ed7f
cmp al, 0x25
jne 0x52ed8b
push 0
lea eax, [esp + 0x1c]
push eax
push esi
call fcn.0057df60
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
lea esi, [esp + 0x18]
push ebp
lea ecx, [esp + 0x404]
push ecx
push esi
call fcn.0052d480
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
push ebp
push edi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
lea edx, [ebp + 0x80c]
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52edc1
mov edx, dword [esp + 0xfc4]
mov byte [edx], cl
mov edx, dword [esp + 0xfc0]
mov byte [ebp + 0x4d4], cl
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52ede5
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52ee00
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52ee18
mov eax, dword [esp + 0xfcc]
mov ecx, dword [esp + 0xfc8]
pop edi
pop esi
pop ebx
mov dword [ecx], eax
pop ebp
add esp, 0xfa8
ret
mov edx, dword [ebp + 0xc58]
push edx
call fcn.00465e70
add esp, 4
test eax, eax
je case.0x52dc2c.49
mov edi, dword [esp + 0xfbc]
push 0x3a
push edi
call fcn.005cbf10
mov esi, eax
add esp, 8
test esi, esi
je case.0x52dc2c.49
push ebp
lea eax, [ebp + 0xc98]
push eax
push edi
mov byte [esi], 0
call fcn.0052d480
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x52ee9c
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x52ee94
cmp byte [esi], 0
je case.0x52dc2c.49
push ebp
push esi
call fcn.0052dab0
mov edi, eax
add esp, 8
test edi, edi
je case.0x52dc2c.49
lea esp, [esp]
push 0x2c
push esi
call fcn.005cbf10
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x52eede
mov byte [ebx], 0
mov al, byte [ebx + 1]
inc ebx
test al, al
jne 0x52eede
xor ebx, ebx
cmp byte [esi], 0x20
jne 0x52eeeb
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x52eee3
push ebp
lea eax, [ebp + 0x107f]
push eax
push esi
call fcn.0052d480
add esp, 0xc
test eax, eax
jne 0x52ef0c
test ebx, ebx
je case.0x52dc2c.49
mov esi, ebx
jmp 0x52eec0
push ebp
push edi
call fcn.0052dab0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
je case.0x52dc2c.49
push 0x2c
push edi
call fcn.005cbf10
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x52ef40
mov byte [ebx], 0
mov al, byte [ebx + 1]
inc ebx
test al, al
jne 0x52ef40
xor ebx, ebx
cmp byte [edi], 0x20
jne 0x52ef4d
mov al, byte [edi + 1]
inc edi
cmp al, 0x20
je 0x52ef45
cmp byte [edi], 0
je 0x52efcf
push 0x5e781c
push edi
call fcn.005e31f5
add esp, 8
test eax, eax
je 0x52efde
push edi
call fcn.005cbe51
mov ecx, dword [ebp + 0xc5c]
add esp, 4
cmp eax, ecx
je 0x52efde
push 0x2d
push edi
call fcn.005cbf10
mov esi, eax
add esp, 8
test esi, esi
je 0x52efcf
mov byte [esi], 0
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x52ef9f
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x52ef97
cmp byte [edi], 0
je 0x52efcf
cmp byte [esi], 0
je 0x52efcf
push edi
call fcn.005cbe51
mov ecx, dword [ebp + 0xc5c]
add esp, 4
cmp ecx, eax
jl 0x52efcf
push esi
call fcn.005cbe51
mov ecx, dword [ebp + 0xc5c]
add esp, 4
cmp ecx, eax
jle 0x52efde
test ebx, ebx
je case.0x52dc2c.49
mov edi, ebx
jmp 0x52ef22
mov esi, dword [esp + 0x10]
push ebp
push esi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
mov ecx, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
mov byte [ecx], al
mov byte [ebp + 0x4d4], al
mov eax, esi
sub edx, esi
mov edi, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52f010
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52f028
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52f040
mov edx, dword [esp + 0xfcc]
mov eax, dword [esp + 0xfc8]
pop edi
pop esi
pop ebx
mov dword [eax], edx
pop ebp
add esp, 0xfa8
ret
mov esi, dword [esp + 0xfbc]
cmp byte [esi], 0x20
jne 0x52f079
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x52f071
cmp byte [esi], 0
je case.0x52dc2c.49
push ebp
push esi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
mov edx, dword [esp + 0xfc4]
mov edi, dword [esp + 0xfc0]
mov byte [edx], al
mov byte [ebp + 0x4d4], al
mov eax, esi
sub edi, esi
mov edi, edi
mov cl, byte [eax]
mov byte [eax + edi], cl
inc eax
test cl, cl
jne 0x52f0b0
mov eax, dword [ebp + 0x1c44]
add eax, 0x1124
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x52f0c5
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52f0e0
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52f0f8
jmp 0x5318a2
mov esi, dword [esp + 0xfbc]
cmp byte [esi], 0x20
jne 0x52f11b
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x52f113
cmp byte [esi], 0
je case.0x52dc2c.49
push ebp
push esi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
mov eax, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
mov byte [eax], 0
mov byte [ebp + 0x4d4], 0
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52f152
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52f170
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52f188
jmp 0x5318a2
mov eax, dword [ebp + 0xc7c]
test eax, eax
je case.0x52dc2c.49
mov esi, dword [esp + 0xfbc]
push ebp
push esi
call fcn.0052dab0
mov edi, eax
add esp, 8
test edi, edi
je case.0x52dc2c.49
mov eax, dword [ebp + 0xc7c]
push eax
lea ecx, [esp + 0x404]
push ecx
push 0
mov byte [esp + 0x40c], 0
call fcn.00515990
mov al, byte [esi]
add esp, 0xc
cmp al, 0x24
jne 0x52f206
cmp byte [esi + 1], 0x28
jne 0x52f206
push ebp
lea edx, [esp + 0x404]
push edx
lea eax, [esp + 0x20]
push eax
push esi
call fcn.0052d3a0
add esp, 0x10
jmp 0x52f21a
cmp al, 0x25
jne 0x52f226
push 0
lea ecx, [esp + 0x1c]
push ecx
push esi
call fcn.0057df60
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
lea esi, [esp + 0x18]
push ebp
lea edx, [esp + 0x404]
push edx
push esi
call fcn.0052d480
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
push ebp
push edi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
lea edx, [ebp + 0x80c]
mov eax, esi
sub edx, esi
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52f260
mov esi, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
mov byte [esi], cl
mov byte [ebp + 0x4d4], cl
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52f284
mov edx, esi
lea ecx, [esp + 0x400]
lea eax, [esp + 0x400]
sub edx, ecx
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52f2a0
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52f2b8
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52f2d0
mov edx, dword [esp + 0xfcc]
mov eax, dword [esp + 0xfc8]
pop edi
pop esi
pop ebx
mov dword [eax], edx
pop ebp
add esp, 0xfa8
ret
mov esi, dword [esp + 0xfbc]
cmp byte [esi], 0x20
jne 0x52f309
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x52f301
cmp byte [esi], 0
je case.0x52dc2c.49
push ebp
push esi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
mov ecx, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
mov byte [ecx], al
mov byte [ebp + 0x4d4], al
mov eax, esi
sub edx, esi
mov edi, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52f340
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52f358
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52f370
mov edx, dword [esp + 0xfcc]
mov eax, dword [esp + 0xfc8]
pop edi
pop esi
pop ebx
mov dword [eax], edx
pop ebp
add esp, 0xfa8
ret
mov ecx, dword [ebp + 0xc84]
push ecx
call fcn.0049c8e0
add esp, 4
test eax, eax
je case.0x52dc2c.49
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x52f3c7
push ebp
call fcn.0052d900
add esp, 4
test eax, eax
jne case.0x52dc2c.49
mov esi, dword [esp + 0xfbc]
push ebp
push esi
call fcn.0052dab0
mov edi, eax
add esp, 8
test edi, edi
je case.0x52dc2c.49
mov al, byte [esi]
cmp al, 0x24
jne 0x52f40c
cmp byte [esi + 1], 0x28
jne 0x52f40c
mov edx, dword [ebp + 0xc84]
push ebp
add edx, 0x234
push edx
lea eax, [esp + 0x20]
push eax
push esi
call fcn.0052d3a0
add esp, 0x10
jmp 0x52f420
cmp al, 0x25
jne 0x52f42c
push 0
lea ecx, [esp + 0x1c]
push ecx
push esi
call fcn.0057df60
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
lea esi, [esp + 0x18]
mov edx, dword [ebp + 0xc84]
push ebp
add edx, 0x234
push edx
push esi
call fcn.0052d7c0
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
push ebp
push edi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
mov eax, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
mov byte [eax], 0
mov byte [ebp + 0x4d4], 0
mov eax, edi
sub edx, edi
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52f480
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52f498
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52f4b0
jmp 0x5318a2
mov eax, dword [ebp + 0xc80]
push eax
call fcn.0053d2f0
add esp, 4
test eax, eax
je case.0x52dc2c.49
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x52f4f1
push ebp
call fcn.0052d900
add esp, 4
test eax, eax
jne case.0x52dc2c.49
mov esi, dword [esp + 0xfbc]
push ebp
push esi
call fcn.0052dab0
mov edi, eax
add esp, 8
test edi, edi
je case.0x52dc2c.49
mov al, byte [esi]
cmp al, 0x24
jne 0x52f536
cmp byte [esi + 1], 0x28
jne 0x52f536
mov ecx, dword [ebp + 0xc80]
push ebp
add ecx, 0x234
push ecx
lea edx, [esp + 0x20]
push edx
push esi
call fcn.0052d3a0
add esp, 0x10
jmp 0x52f54a
cmp al, 0x25
jne 0x52f556
push 0
lea eax, [esp + 0x1c]
push eax
push esi
call fcn.0057df60
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
lea esi, [esp + 0x18]
mov ecx, dword [ebp + 0xc80]
push ebp
add ecx, 0x234
push ecx
push esi
call fcn.0052d7c0
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
push ebp
push edi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
mov edx, dword [esp + 0xfc4]
mov byte [edx], al
mov edx, dword [esp + 0xfc0]
mov byte [ebp + 0x4d4], al
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52f5a1
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52f5c0
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52f5d8
mov eax, dword [esp + 0xfcc]
mov ecx, dword [esp + 0xfc8]
pop edi
pop esi
pop ebx
mov dword [ecx], eax
pop ebp
add esp, 0xfa8
ret
mov eax, dword [ebp + 0x1468]
test eax, eax
je case.0x52dc2c.49
mov al, byte [ebp + 0x107f]
test al, al
lea edi, [ebp + 0x107f]
je case.0x52dc2c.49
mov esi, dword [esp + 0xfbc]
push ebp
push esi
call fcn.0052dab0
mov ebx, eax
add esp, 8
test ebx, ebx
je case.0x52dc2c.49
mov al, byte [esi]
cmp al, 0x24
jne 0x52f658
cmp byte [esi + 1], 0x28
jne 0x52f658
push ebp
push edi
lea edx, [esp + 0x20]
push edx
push esi
call fcn.0052d3a0
add esp, 0x10
jmp 0x52f66c
cmp al, 0x25
jne 0x52f67f
push 0
lea eax, [esp + 0x1c]
push eax
push esi
call fcn.0057df60
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
lea esi, [esp + 0x18]
mov dword [esp + 0xfbc], esi
push ebp
push edi
push esi
call fcn.0052d480
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
push ebp
push ebx
call fcn.0052dab0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
je case.0x52dc2c.49
mov ecx, dword [ebp + 0x1468]
push ecx
call fcn.005827d0
add esp, 4
test eax, eax
je case.0x52dc2c.49
mov cl, byte [ebx]
cmp cl, 0x23
lea edi, [eax + 8]
mov esi, edi
jne 0x52f6d4
cmp dword [eax + 0x71c], 1
jmp 0x52f743
cmp cl, 0x3f
jne 0x52f6fa
mov edx, dword [eax + 0x71c]
mov ecx, 2
cmp edx, ecx
jne case.0x52dc2c.49
cmp dword [eax + 0x720], ecx
jg case.0x52dc2c.49
jmp 0x52f749
cmp cl, 0x3d
jne 0x52f71b
cmp dword [eax + 0x71c], 2
jne case.0x52dc2c.49
cmp dword [eax + 0x720], 3
jne case.0x52dc2c.49
jmp 0x52f74d
cmp cl, 0x21
jne 0x52f73c
cmp dword [eax + 0x71c], 2
jne case.0x52dc2c.49
cmp dword [eax + 0x720], 4
jne case.0x52dc2c.49
jmp 0x52f74d
cmp cl, 0x40
jne 0x52f749
cmp byte [edi], cl
jne case.0x52dc2c.49
test esi, esi
jne 0x52f770
mov al, byte [ebx + 1]
test al, al
je 0x52f755
inc ebx
push 0x20
push edi
call fcn.005cbf10
mov esi, eax
add esp, 8
test esi, esi
je 0x52f76e
inc esi
je 0x52f76e
cmp byte [esi], 0
jne 0x52f770
mov esi, edi
push ebp
push esi
push ebx
call fcn.0052d480
add esp, 0xc
test eax, eax
jne 0x52f792
push ebp
push esi
push ebx
call fcn.0052d510
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
mov edi, dword [esp + 0x10]
push ebp
push edi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
mov eax, dword [esp + 0xfbc]
lea edx, [ebp + 0x80c]
mov dword [ebp + 0xc70], 1
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52f7c1
mov esi, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
mov byte [esi], cl
mov byte [ebp + 0x4d4], cl
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52f7e5
lea eax, [ebp + 0x107f]
mov edx, esi
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52f800
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52f818
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52f830
mov edx, dword [esp + 0xfcc]
mov eax, dword [esp + 0xfc8]
pop edi
pop esi
pop ebx
mov dword [eax], edx
pop ebp
add esp, 0xfa8
ret
mov edi, dword [esp + 0xfbc]
push ebp
push edi
call fcn.0052dab0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
je case.0x52dc2c.49
mov ecx, dword [ebp + 0x1468]
push ecx
call fcn.005827d0
add esp, 4
test eax, eax
je case.0x52dc2c.49
mov cl, byte [edi]
cmp cl, 0x23
lea ebx, [eax + 8]
mov esi, ebx
jne 0x52f89e
cmp dword [eax + 0x71c], 1
jmp 0x52f90d
cmp cl, 0x3f
jne 0x52f8c4
mov edx, dword [eax + 0x71c]
mov ecx, 2
cmp edx, ecx
jne case.0x52dc2c.49
cmp dword [eax + 0x720], ecx
jg case.0x52dc2c.49
jmp 0x52f913
cmp cl, 0x3d
jne 0x52f8e5
cmp dword [eax + 0x71c], 2
jne case.0x52dc2c.49
cmp dword [eax + 0x720], 3
jne case.0x52dc2c.49
jmp 0x52f917
cmp cl, 0x21
jne 0x52f906
cmp dword [eax + 0x71c], 2
jne case.0x52dc2c.49
cmp dword [eax + 0x720], 4
jne case.0x52dc2c.49
jmp 0x52f917
cmp cl, 0x40
jne 0x52f913
cmp byte [ebx], cl
jne case.0x52dc2c.49
test esi, esi
jne 0x52f93a
mov al, byte [edi + 1]
test al, al
je 0x52f91f
inc edi
push 0x20
push ebx
call fcn.005cbf10
mov esi, eax
add esp, 8
test esi, esi
je 0x52f938
inc esi
je 0x52f938
cmp byte [esi], 0
jne 0x52f93a
mov esi, ebx
push ebp
push esi
push edi
call fcn.0052d480
add esp, 0xc
test eax, eax
jne 0x52f95c
push ebp
push esi
push edi
call fcn.0052d510
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
mov ebx, dword [esp + 0x10]
push ebp
push ebx
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
lea edx, [ebp + 0x80c]
mov eax, edi
sub edx, edi
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52f980
mov edx, dword [esp + 0xfc4]
mov esi, dword [esp + 0xfc0]
mov byte [edx], cl
mov byte [ebp + 0x4d4], cl
mov eax, ebx
sub esi, ebx
mov cl, byte [eax]
mov byte [eax + esi], cl
inc eax
test cl, cl
jne 0x52f9a4
mov ecx, dword [0x6153fc]
test ecx, ecx
je 0x52f9c2
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x52f9b8
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52f9d0
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52f9e8
mov edx, dword [esp + 0xfcc]
mov eax, dword [esp + 0xfc8]
pop edi
pop esi
pop ebx
mov dword [eax], edx
pop ebp
add esp, 0xfa8
ret
mov eax, dword [ebp + 0xc7c]
test eax, eax
je case.0x52dc2c.49
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x52fa36
push ebp
call fcn.0052d900
add esp, 4
test eax, eax
jne case.0x52dc2c.49
mov edi, dword [esp + 0xfbc]
push ebp
push edi
call fcn.0052dab0
mov esi, eax
add esp, 8
test esi, esi
je case.0x52dc2c.49
mov ecx, dword [ebp + 0xc7c]
mov edx, dword [ecx + 0xc]
push ebp
push edx
push edi
call fcn.0052d510
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
push ebp
push esi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
mov eax, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
mov byte [eax], 0
lea edi, [ebp + 0x4d4]
mov byte [edi], 0
mov eax, esi
sub edx, esi
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52faa0
mov ecx, dword [ebp + 0x1c44]
mov edx, dword [ebp + 0xc7c]
mov eax, dword [edx + 0xc]
push ecx
push eax
call fcn.00522500
add esp, 8
test al, al
je 0x52fadc
mov ecx, dword [ebp + 0xc7c]
mov ecx, dword [ecx + 0xc]
mov edx, edi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x52fad2
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52faf0
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52fb08
mov edx, dword [esp + 0xfcc]
mov eax, dword [esp + 0xfc8]
pop edi
pop esi
pop ebx
mov dword [eax], edx
pop ebp
add esp, 0xfa8
ret
mov eax, dword [ebp + 0xc7c]
test eax, eax
je case.0x52dc2c.49
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x52fb56
push ebp
call fcn.0052d900
add esp, 4
test eax, eax
jne case.0x52dc2c.49
mov eax, dword [ebp + 0x404]
test eax, eax
je 0x52fb71
push ebp
call fcn.0052d960
add esp, 4
test eax, eax
je case.0x52dc2c.49
mov edi, dword [esp + 0xfbc]
push ebp
push edi
call fcn.0052dab0
mov esi, eax
add esp, 8
test esi, esi
je case.0x52dc2c.49
mov ecx, dword [ebp + 0xc7c]
mov edx, dword [ecx + 8]
push ebp
push edx
push edi
call fcn.0052d510
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
push ebp
push esi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
mov eax, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
mov byte [eax], 0
lea edi, [ebp + 0x4d4]
mov byte [edi], 0
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52fbd8
mov ecx, dword [ebp + 0x1c44]
mov edx, dword [ebp + 0xc7c]
mov eax, dword [edx + 8]
push ecx
push eax
call fcn.00522500
add esp, 8
test al, al
je 0x52fc1a
mov ecx, dword [ebp + 0xc7c]
mov ecx, dword [ecx + 8]
mov edx, edi
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x52fc10
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52fc28
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52fc40
mov edx, dword [esp + 0xfcc]
mov eax, dword [esp + 0xfc8]
pop edi
pop esi
pop ebx
mov dword [eax], edx
pop ebp
add esp, 0xfa8
ret
mov eax, dword [ebp + 0xc7c]
test eax, eax
je case.0x52dc2c.49
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x52fc8e
push ebp
call fcn.0052d900
add esp, 4
test eax, eax
jne case.0x52dc2c.49
mov eax, dword [ebp + 0x404]
test eax, eax
je 0x52fca9
push ebp
call fcn.0052d960
add esp, 4
test eax, eax
je case.0x52dc2c.49
mov edi, dword [esp + 0xfbc]
push ebp
push edi
call fcn.0052dab0
mov esi, eax
add esp, 8
test esi, esi
je case.0x52dc2c.49
mov ecx, dword [ebp + 0xc7c]
mov edx, dword [ecx + 8]
push ebp
push edx
push edi
call fcn.0052d510
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
push ebp
push esi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
mov ebx, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
mov byte [ebx], al
lea edi, [ebp + 0x4d4]
mov byte [edi], al
mov eax, esi
sub edx, esi
mov edi, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52fd10
mov eax, dword [ebp + 0xc7c]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x52fd3a
mov edx, ebx
lea esp, [esp]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x52fd30
mov ecx, dword [ebp + 0x1c44]
mov edx, dword [ebp + 0xc7c]
mov eax, dword [edx + 8]
push ecx
push eax
call fcn.00522500
add esp, 8
test al, al
je 0x52fd6c
mov ecx, dword [ebp + 0xc7c]
mov ecx, dword [ecx + 8]
mov edx, edi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x52fd62
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52fd80
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52fd98
mov edx, dword [esp + 0xfcc]
mov eax, dword [esp + 0xfc8]
pop edi
pop esi
pop ebx
mov dword [eax], edx
pop ebp
add esp, 0xfa8
ret
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x52fdd8
push ebp
call fcn.0052d900
add esp, 4
test eax, eax
jne case.0x52dc2c.49
mov eax, dword [ebp + 0x404]
test eax, eax
je 0x52fdf3
push ebp
call fcn.0052d960
add esp, 4
test eax, eax
je case.0x52dc2c.49
mov edi, dword [esp + 0xfbc]
push ebp
push edi
call fcn.0052dab0
mov esi, eax
add esp, 8
test esi, esi
je case.0x52dc2c.49
mov ecx, dword [ebp + 0x1c44]
push ecx
lea edx, [esp + 0x404]
push edx
call fcn.00503c50
push ebp
lea eax, [esp + 0x40c]
push eax
push edi
call fcn.0052d480
add esp, 0x14
test eax, eax
je case.0x52dc2c.49
push ebp
push esi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
mov ecx, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
mov byte [ecx], al
mov byte [ebp + 0x4d4], al
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52fe68
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52fe80
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x52fe98
mov edx, dword [esp + 0xfcc]
mov eax, dword [esp + 0xfc8]
pop edi
pop esi
pop ebx
mov dword [eax], edx
pop ebp
add esp, 0xfa8
ret
mov eax, dword [ebp + 0x1468]
test eax, eax
je case.0x52dc2c.49
push eax
call fcn.005827d0
mov ebx, eax
add esp, 4
test ebx, ebx
mov dword [esp + 0x14], ebx
je case.0x52dc2c.49
mov edi, dword [esp + 0xfbc]
push 0x3a
push edi
call fcn.005cbf10
mov esi, eax
add esp, 8
test esi, esi
je case.0x52dc2c.49
mov byte [esi], 0
mov al, byte [edi]
cmp al, 0x24
jne 0x52ff20
cmp byte [edi + 1], 0x28
jne 0x52ff20
push ebp
push 0
lea ecx, [esp + 0x20]
push ecx
push edi
call fcn.0052d3a0
add esp, 0x10
jmp 0x52ff34
cmp al, 0x25
jne 0x52ff40
push 0
lea edx, [esp + 0x1c]
push edx
push edi
call fcn.0057df60
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
lea edi, [esp + 0x18]
push 0x5e7818
push edi
call fcn.005e31f5
add esp, 8
test eax, eax
je 0x52ff68
push ebp
add ebx, 8
push ebx
push edi
call fcn.0052d480
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x52ff78
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x52ff70
cmp byte [esi], 0
je case.0x52dc2c.49
push ebp
push esi
call fcn.0052dab0
mov ebx, eax
add esp, 8
test ebx, ebx
je case.0x52dc2c.49
push 0x2c
push esi
call fcn.005cbf10
mov edi, eax
add esp, 8
test edi, edi
je 0x52ffb3
mov byte [edi], 0
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x52ffb3
xor edi, edi
cmp byte [esi], 0x20
jne 0x52ffc0
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x52ffb8
cmp byte [esi], 0
je 0x52ffea
push 0x5e781c
push esi
call fcn.005e31f5
add esp, 8
test eax, eax
je 0x52fff6
push esi
call fcn.005cbe51
mov ecx, dword [ebp + 0xc64]
add esp, 4
cmp eax, ecx
je 0x52fff6
test edi, edi
je case.0x52dc2c.49
mov esi, edi
jmp 0x52ff95
push ebp
push ebx
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
mov eax, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
mov byte [eax], 0
lea edi, [ebp + 0x4d4]
mov byte [edi], 0
mov eax, ebx
sub edx, ebx
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530026
mov ecx, dword [ebp + 0x1c44]
mov esi, dword [esp + 0x14]
push ecx
add esi, 8
push esi
call fcn.00522500
add esp, 8
test al, al
je 0x53005b
mov edx, edi
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x530051
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530070
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530088
mov edx, dword [esp + 0xfcc]
mov eax, dword [esp + 0xfc8]
pop edi
pop esi
pop ebx
mov dword [eax], edx
pop ebp
add esp, 0xfa8
ret
mov esi, dword [esp + 0xfbc]
cmp byte [esi], 0x20
jne 0x5300c8
lea esp, [esp]
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x5300c0
cmp byte [esi], 0
je case.0x52dc2c.49
push ebp
push esi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
mov ecx, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
mov byte [ecx], al
mov byte [ebp + 0x4d4], al
mov eax, esi
sub edx, esi
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530100
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530118
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530130
mov edx, dword [esp + 0xfcc]
mov eax, dword [esp + 0xfc8]
pop edi
pop esi
pop ebx
mov dword [eax], edx
pop ebp
add esp, 0xfa8
ret
mov eax, dword [ebp + 0xc7c]
test eax, eax
je case.0x52dc2c.49
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x53017e
push ebp
call fcn.0052d900
add esp, 4
test eax, eax
jne case.0x52dc2c.49
mov eax, dword [ebp + 0x404]
test eax, eax
je 0x530199
push ebp
call fcn.0052d960
add esp, 4
test eax, eax
je case.0x52dc2c.49
mov edi, dword [esp + 0xfbc]
push ebp
push edi
call fcn.0052dab0
mov esi, eax
add esp, 8
test esi, esi
je case.0x52dc2c.49
mov ecx, dword [ebp + 0xc7c]
mov edx, dword [ecx + 8]
push ebp
push edx
push edi
call fcn.0052d510
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
push ebp
push esi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
mov edi, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
mov byte [edi], al
lea ebx, [ebp + 0x4d4]
mov byte [ebx], al
mov eax, esi
sub edx, esi
mov edi, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530200
mov eax, dword [ebp + 0x1c44]
mov ecx, dword [ebp + 0xc7c]
mov edx, dword [ecx + 8]
push eax
push edx
call fcn.00522500
add esp, 8
test al, al
je 0x53023c
mov eax, dword [ebp + 0xc7c]
mov ecx, dword [eax + 8]
mov edx, ebx
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x530232
mov ecx, dword [ebp + 0xc7c]
mov ecx, dword [ecx + 0xc]
test ecx, ecx
je 0x5302cc
mov edx, edi
nop
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x530250
mov edx, dword [ebp + 0xc7c]
mov eax, dword [edx + 0x10]
test eax, eax
je 0x5302cc
mov ebx, 0x10
jmp 0x530275
mov edi, dword [esp + 0xfc4]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x530276
mov ax, word [0x5e7420]
mov word [edi], ax
mov ecx, dword [ebp + 0xc7c]
mov eax, dword [ecx + ebx]
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x530292
mov edi, dword [esp + 0xfc4]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x5302a5
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [ebp + 0xc7c]
mov eax, dword [ebx + edx + 4]
add ebx, 4
test eax, eax
jne 0x53026e
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x5302e0
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x5302f8
mov eax, dword [esp + 0xfcc]
mov ecx, dword [esp + 0xfc8]
pop edi
pop esi
pop ebx
mov dword [ecx], eax
pop ebp
add esp, 0xfa8
ret
mov eax, dword [ebp + 0xc7c]
test eax, eax
je case.0x52dc2c.49
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x530346
push ebp
call fcn.0052d900
add esp, 4
test eax, eax
jne case.0x52dc2c.49
mov esi, dword [esp + 0xfbc]
cmp byte [esi], 0x20
jne 0x53035a
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x530352
cmp byte [esi], 0
je case.0x52dc2c.49
push ebp
push esi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
mov edx, dword [esp + 0xfc4]
mov byte [edx], al
mov edx, dword [esp + 0xfc0]
mov byte [ebp + 0x4d4], al
mov eax, esi
sub edx, esi
nop
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530390
mov eax, dword [ebp + 0xc7c]
mov ecx, dword [eax + 8]
lea edx, [ebp + 0x470]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x5303b0
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x5303c8
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x5303e0
jmp 0x5318a2
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x53040a
push ebp
call fcn.0052d900
add esp, 4
test eax, eax
jne case.0x52dc2c.49
mov esi, dword [esp + 0xfbc]
cmp byte [esi], 0x20
jne 0x53041e
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x530416
cmp byte [esi], 0
je case.0x52dc2c.49
push ebp
push esi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
mov eax, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
mov byte [eax], 0
mov byte [ebp + 0x4d4], 0
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530455
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530470
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530488
jmp 0x5318a2
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x5304b2
push ebp
call fcn.0052d900
add esp, 4
test eax, eax
jne case.0x52dc2c.49
mov esi, dword [esp + 0xfbc]
cmp byte [esi], 0x20
jne 0x5304c8
mov edi, edi
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x5304c0
cmp byte [esi], 0
je case.0x52dc2c.49
push ebp
push esi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
mov edi, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
mov byte [edi], al
lea ebx, [ebp + 0x4d4]
mov byte [ebx], al
mov eax, esi
sub edx, esi
nop
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530500
mov eax, dword [ebp + 0xc88]
push eax
call fcn.00434440
add esp, 4
test eax, eax
je 0x530534
mov eax, dword [ebp + 0xc88]
add eax, 4
mov edx, edi
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x530528
jmp 0x53058a
mov eax, dword [ebp + 0xc7c]
test eax, eax
je 0x53058a
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x530551
mov edx, edi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x530547
mov ecx, dword [ebp + 0x1c44]
mov edx, dword [ebp + 0xc7c]
mov eax, dword [edx + 8]
push ecx
push eax
call fcn.00522500
add esp, 8
test al, al
je 0x53058a
mov ecx, dword [ebp + 0xc7c]
mov ecx, dword [ecx + 8]
mov edx, ebx
lea esp, [esp]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x530580
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530598
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x5305b0
mov edx, dword [esp + 0xfcc]
mov eax, dword [esp + 0xfc8]
pop edi
pop esi
pop ebx
mov dword [eax], edx
pop ebp
add esp, 0xfa8
ret
mov eax, dword [ebp + 0xc7c]
test eax, eax
je case.0x52dc2c.49
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x5305fe
push ebp
call fcn.0052d900
add esp, 4
test eax, eax
jne case.0x52dc2c.49
mov eax, dword [ebp + 0x404]
test eax, eax
je 0x530619
push ebp
call fcn.0052d960
add esp, 4
test eax, eax
je case.0x52dc2c.49
mov edi, dword [esp + 0xfbc]
push ebp
push edi
call fcn.0052dab0
mov esi, eax
add esp, 8
test esi, esi
je case.0x52dc2c.49
mov ecx, dword [ebp + 0xc7c]
mov edx, dword [ecx + 8]
push ebp
push edx
push edi
call fcn.0052d510
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
push ebp
push esi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
mov edi, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
mov byte [edi], al
mov byte [ebp + 0x4d4], al
mov eax, esi
sub edx, esi
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530680
mov eax, dword [ebp + 0xc7c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x53071f
mov edx, edi
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x5306a0
mov ecx, dword [ebp + 0xc7c]
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x53071f
mov ebx, 0x10
lea esp, [esp]
mov edi, dword [esp + 0xfc4]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x5306c8
mov dx, word [0x5e7420]
mov word [edi], dx
mov eax, dword [ebp + 0xc7c]
mov eax, dword [ebx + eax]
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x5306e5
mov edi, dword [esp + 0xfc4]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x5306f8
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0xc7c]
mov eax, dword [ebx + ecx + 4]
add ebx, 4
test eax, eax
jne 0x5306c0
mov edx, dword [ebp + 0x1c44]
mov eax, dword [ebp + 0xc7c]
mov ecx, dword [eax + 8]
push edx
push ecx
call fcn.00522500
add esp, 8
test al, al
je 0x53075a
mov edx, dword [ebp + 0xc7c]
mov ecx, dword [edx + 8]
lea edx, [ebp + 0x4d4]
jmp 0x530750
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x530750
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530768
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530780
mov eax, dword [esp + 0xfcc]
mov ecx, dword [esp + 0xfc8]
pop edi
pop esi
pop ebx
mov dword [ecx], eax
pop ebp
add esp, 0xfa8
ret
mov eax, dword [ebp + 0xc7c]
test eax, eax
je case.0x52dc2c.49
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x5307ce
push ebp
call fcn.0052d900
add esp, 4
test eax, eax
jne case.0x52dc2c.49
mov eax, dword [ebp + 0x404]
test eax, eax
je 0x5307e9
push ebp
call fcn.0052d960
add esp, 4
test eax, eax
je case.0x52dc2c.49
mov edi, dword [esp + 0xfbc]
push ebp
push edi
call fcn.0052dab0
mov esi, eax
add esp, 8
test esi, esi
je case.0x52dc2c.49
mov edx, dword [ebp + 0xc7c]
mov eax, dword [edx + 8]
push ebp
push eax
push edi
call fcn.0052d510
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
push ebp
push esi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
mov ebx, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
mov byte [ebx], al
lea edi, [ebp + 0x4d4]
mov byte [edi], al
mov eax, esi
sub edx, esi
mov edi, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530850
mov ecx, dword [ebp + 0xc7c]
mov ecx, dword [ecx + 0xc]
test ecx, ecx
je 0x53087a
mov edx, ebx
lea esp, [esp]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x530870
mov edx, dword [ebp + 0x1c44]
mov eax, dword [ebp + 0xc7c]
mov ecx, dword [eax + 8]
push edx
push ecx
call fcn.00522500
add esp, 8
test al, al
je 0x5308ac
mov edx, dword [ebp + 0xc7c]
mov ecx, dword [edx + 8]
mov edx, edi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x5308a2
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x5308c0
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x5308d8
mov eax, dword [esp + 0xfcc]
mov ecx, dword [esp + 0xfc8]
pop edi
pop esi
pop ebx
mov dword [ecx], eax
pop ebp
add esp, 0xfa8
ret
mov eax, dword [ebp + 0xc7c]
test eax, eax
je case.0x52dc2c.49
mov esi, dword [esp + 0xfbc]
cmp byte [esi], 0x20
jne 0x53091f
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x530917
cmp byte [esi], 0
je case.0x52dc2c.49
push ebp
push esi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
mov edx, dword [esp + 0xfc4]
mov edi, dword [esp + 0xfc0]
mov byte [edx], al
mov byte [ebp + 0x4d4], al
mov eax, esi
sub edi, esi
mov cl, byte [eax]
mov byte [eax + edi], cl
inc eax
test cl, cl
jne 0x530954
mov eax, dword [ebp + 0xc7c]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x53097a
jmp 0x530970
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x530970
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530988
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x5309a0
jmp 0x5318a2
mov esi, dword [esp + 0xfbc]
cmp byte [esi], 0x20
jne 0x5309c8
jmp 0x5309c0
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x5309c0
cmp byte [esi], 0
je case.0x52dc2c.49
push ebp
push esi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
mov eax, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
mov byte [eax], 0
mov byte [ebp + 0x4d4], 0
mov eax, esi
sub edx, esi
nop
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530a00
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530a18
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x530a30
jmp 0x5318a2
mov eax, dword [ebp + 0xc7c]
test eax, eax
je case.0x52dc2c.49
mov esi, dword [esp + 0xfbc]
cmp byte [esi], 0x20
jne 0x530a68
lea esp, [esp]
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x530a60
cmp byte [esi], 0
je case.0x52dc2c.49
push ebp
push esi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
mov edi, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
mov byte [edi], al
mov byte [ebp + 0x4d4], al
mov eax, esi
sub edx, esi
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x530aa0
mov eax, dword [ebp + 0xc7c]
push eax
push edi
push 2
call fcn.00515990
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
add esp, 0xc
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x530ad0
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x530ae8
jmp 0x5318a2
mov eax, dword [ebp + 0xc7c]
test eax, eax
je case.0x52dc2c.49
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x530b20
push ebp
call fcn.0052d900
add esp, 4
test eax, eax
jne case.0x52dc2c.49
mov esi, dword [esp + 0xfbc]
cmp byte [esi], 0x20
jne 0x530b38
lea esp, [esp]
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x530b30
cmp byte [esi], 0
je case.0x52dc2c.49
push ebp
push esi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
mov edx, dword [esp + 0xfc4]
mov edi, dword [esp + 0xfc0]
mov byte [edx], al
mov byte [ebp + 0x4d4], al
mov eax, esi
sub edi, esi
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [eax + edi], cl
inc eax
test cl, cl
jne 0x530b70
mov eax, dword [ebp + 0xc7c]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x530b91
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x530b87
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
nop
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530ba0
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530bb8
jmp 0x5318a2
mov eax, dword [ebp + 0xc94]
mov ecx, dword [ebp + 0xc90]
push eax
push ecx
call fcn.00547000
add esp, 8
test eax, eax
je case.0x52dc2c.49
mov esi, dword [esp + 0xfbc]
push ebp
push esi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
push ebp
push esi
call fcn.0052dab0
mov edi, eax
add esp, 8
test edi, edi
je case.0x52dc2c.49
mov al, byte [esi]
cmp al, 0x24
jne 0x530c36
cmp byte [esi + 1], 0x28
jne 0x530c36
mov edx, dword [ebp + 0xc90]
push ebp
push edx
lea eax, [esp + 0x20]
push eax
push esi
call fcn.0052d3a0
add esp, 0x10
jmp 0x530c4a
cmp al, 0x25
jne 0x530c56
push 0
lea ecx, [esp + 0x1c]
push ecx
push esi
call fcn.0057df60
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
lea esi, [esp + 0x18]
mov edx, dword [ebp + 0xc90]
push ebp
push edx
push esi
call fcn.0052d480
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
push ebp
push edi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
lea edx, [ebp + 0x80c]
mov eax, esi
sub edx, esi
jmp 0x530c90
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530c90
mov eax, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
mov byte [eax], cl
mov byte [ebp + 0x4d4], cl
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530cb4
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530cd0
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530ce8
jmp 0x5318a2
mov edi, dword [esp + 0xfbc]
push ebp
push edi
call fcn.0052dab0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
je case.0x52dc2c.49
lea ebx, [ebp + 0xc98]
lea edx, [esp + 0x400]
mov eax, ebx
sub edx, ebx
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530d25
lea eax, [esp + 0x400]
push 0x20
push eax
call fcn.005cbf10
mov esi, eax
add esp, 8
test esi, esi
je 0x530d61
mov byte [esi], 0
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x530d5a
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x530d52
cmp byte [esi], 0
jne 0x530d61
xor esi, esi
mov al, byte [edi]
cmp al, 0x24
jne 0x530d7f
cmp byte [edi + 1], 0x28
jne 0x530d7f
push ebp
push ebx
lea ecx, [esp + 0x20]
push ecx
push edi
call fcn.0052d3a0
add esp, 0x10
jmp 0x530d93
cmp al, 0x25
jne 0x530d9f
push 0
lea edx, [esp + 0x1c]
push edx
push edi
call fcn.0057df60
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
lea edi, [esp + 0x18]
push ebp
lea eax, [esp + 0x404]
push eax
push edi
call fcn.0052d480
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
mov ebx, dword [esp + 0x10]
push ebp
push ebx
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
lea edx, [ebp + 0x80c]
mov eax, edi
sub edx, edi
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530de0
mov edi, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
mov byte [edi], cl
mov byte [ebp + 0x4d4], cl
mov eax, ebx
sub edx, ebx
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530e04
test esi, esi
je 0x530e22
mov edx, edi
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x530e18
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530e30
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530e48
jmp 0x5318a2
mov eax, dword [ebp + 0xc7c]
test eax, eax
je case.0x52dc2c.49
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x530e80
push ebp
call fcn.0052d900
add esp, 4
test eax, eax
jne case.0x52dc2c.49
mov esi, dword [esp + 0xfbc]
push ebp
push esi
call fcn.0052dab0
mov edi, eax
add esp, 8
test edi, edi
je case.0x52dc2c.49
mov al, byte [esi]
cmp al, 0x24
jne 0x530ec2
cmp byte [esi + 1], 0x28
jne 0x530ec2
mov eax, dword [ebp + 0xc7c]
mov ecx, dword [eax + 0xc]
push ebp
push ecx
lea edx, [esp + 0x20]
push edx
push esi
call fcn.0052d3a0
add esp, 0x10
jmp 0x530ed6
cmp al, 0x25
jne 0x530ee2
push 0
lea eax, [esp + 0x1c]
push eax
push esi
call fcn.0057df60
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
lea esi, [esp + 0x18]
mov ecx, dword [ebp + 0xc7c]
mov edx, dword [ecx + 0xc]
push ebp
push edx
push esi
call fcn.0052d480
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
push ebp
push edi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
lea edx, [ebp + 0x80c]
mov eax, esi
sub edx, esi
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530f20
mov edx, dword [esp + 0xfc4]
mov esi, dword [esp + 0xfc0]
mov byte [edx], cl
mov byte [ebp + 0x4d4], cl
mov eax, edi
sub esi, edi
mov cl, byte [eax]
mov byte [eax + esi], cl
inc eax
test cl, cl
jne 0x530f44
mov eax, dword [ebp + 0xc7c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x530f6a
jmp 0x530f60
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x530f60
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530f78
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x530f90
jmp 0x5318a2
mov edi, dword [esp + 0xfbc]
push ebp
push edi
call fcn.0052dab0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
je case.0x52dc2c.49
mov eax, dword [ebp + 0x1468]
push eax
call fcn.005827d0
add esp, 4
test eax, eax
je case.0x52dc2c.49
mov cl, byte [edi]
cmp cl, 0x23
lea ebx, [eax + 8]
mov esi, ebx
jne 0x530fe8
cmp dword [eax + 0x71c], 1
jmp 0x531057
cmp cl, 0x3f
jne 0x53100e
mov edx, dword [eax + 0x71c]
mov ecx, 2
cmp edx, ecx
jne case.0x52dc2c.49
cmp dword [eax + 0x720], ecx
jg case.0x52dc2c.49
jmp 0x53105d
cmp cl, 0x3d
jne 0x53102f
cmp dword [eax + 0x71c], 2
jne case.0x52dc2c.49
cmp dword [eax + 0x720], 3
jne case.0x52dc2c.49
jmp 0x531061
cmp cl, 0x21
jne 0x531050
cmp dword [eax + 0x71c], 2
jne case.0x52dc2c.49
cmp dword [eax + 0x720], 4
jne case.0x52dc2c.49
jmp 0x531061
cmp cl, 0x40
jne 0x53105d
cmp byte [ebx], cl
jne case.0x52dc2c.49
test esi, esi
jne 0x531084
mov al, byte [edi + 1]
test al, al
je 0x531069
inc edi
push 0x20
push ebx
call fcn.005cbf10
mov esi, eax
add esp, 8
test esi, esi
je 0x531082
inc esi
je 0x531082
cmp byte [esi], 0
jne 0x531084
mov esi, ebx
push ebp
push esi
push edi
call fcn.0052d480
add esp, 0xc
test eax, eax
jne 0x5310a6
push ebp
push esi
push edi
call fcn.0052d510
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
mov ebx, dword [esp + 0x10]
push ebp
push ebx
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
lea edx, [ebp + 0x80c]
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x5310c6
mov esi, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
mov byte [esi], cl
mov byte [ebp + 0x4d4], cl
mov eax, ebx
sub edx, ebx
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x5310f0
lea eax, [ebp + 0xc98]
mov edx, esi
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x531104
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x531120
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x531138
jmp 0x5318a2
mov eax, dword [ebp + 0xc7c]
test eax, eax
je case.0x52dc2c.49
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x531170
push ebp
call fcn.0052d900
add esp, 4
test eax, eax
jne case.0x52dc2c.49
mov eax, dword [ebp + 0x404]
test eax, eax
je 0x53118b
push ebp
call fcn.0052d960
add esp, 4
test eax, eax
je case.0x52dc2c.49
mov ebx, dword [esp + 0xfbc]
push 0x3a
push ebx
call fcn.005cbf10
mov esi, eax
add esp, 8
test esi, esi
je case.0x52dc2c.49
mov byte [esi], 0
mov al, byte [ebx]
cmp al, 0x24
jne 0x5311d1
cmp byte [ebx + 1], 0x28
jne 0x5311d1
mov eax, dword [ebp + 0xc7c]
mov ecx, dword [eax + 0xc]
push ebp
push ecx
lea edx, [esp + 0x20]
push edx
push ebx
call fcn.0052d3a0
add esp, 0x10
jmp 0x5311e5
cmp al, 0x25
jne 0x5311f1
push 0
lea eax, [esp + 0x1c]
push eax
push ebx
call fcn.0057df60
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
lea ebx, [esp + 0x18]
mov ecx, dword [ebp + 0xc7c]
mov edx, dword [ecx + 0xc]
push ebp
push edx
push ebx
call fcn.0052d480
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x53121d
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x531215
cmp byte [esi], 0
je case.0x52dc2c.49
push ebp
push esi
call fcn.0052dab0
mov edi, eax
add esp, 8
test edi, edi
je case.0x52dc2c.49
mov eax, dword [ebp + 0xc7c]
mov ecx, dword [eax + 8]
push ebp
push ecx
push esi
call fcn.0052d510
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
push ebp
push edi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
lea edx, [ebp + 0x80c]
mov eax, ebx
sub edx, ebx
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x531272
mov ebx, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
lea esi, [ebp + 0x4d4]
mov byte [ebx], cl
mov byte [esi], cl
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x531298
mov edx, dword [ebp + 0xc7c]
mov ecx, dword [edx + 0xc]
mov edx, ebx
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x5312b0
mov eax, dword [ebp + 0x1c44]
mov ecx, dword [ebp + 0xc7c]
mov edx, dword [ecx + 8]
push eax
push edx
call fcn.00522500
add esp, 8
test al, al
je 0x5312ec
mov eax, dword [ebp + 0xc7c]
mov ecx, dword [eax + 8]
mov edx, esi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x5312e2
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x531300
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x531318
jmp 0x5318a2
mov eax, dword [ebp + 0xc7c]
test eax, eax
je case.0x52dc2c.49
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x531350
push ebp
call fcn.0052d900
add esp, 4
test eax, eax
jne case.0x52dc2c.49
mov eax, dword [ebp + 0x404]
test eax, eax
je 0x53136b
push ebp
call fcn.0052d960
add esp, 4
test eax, eax
je case.0x52dc2c.49
mov edi, dword [esp + 0xfbc]
push ebp
push edi
call fcn.0052dab0
mov esi, eax
add esp, 8
test esi, esi
je case.0x52dc2c.49
mov eax, dword [ebp + 0xc7c]
mov ecx, dword [eax + 8]
push ebp
push ecx
push edi
call fcn.0052d510
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
push ebp
push esi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
mov ebx, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
mov byte [ebx], al
lea edi, [ebp + 0x4d4]
mov byte [edi], al
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x5313d0
mov edx, dword [ebp + 0xc7c]
mov ecx, dword [edx + 0xc]
test ecx, ecx
je 0x5313fa
mov edx, ebx
lea esp, [esp]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x5313f0
mov eax, dword [ebp + 0x1c44]
mov ecx, dword [ebp + 0xc7c]
mov edx, dword [ecx + 8]
push eax
push edx
call fcn.00522500
add esp, 8
test al, al
je 0x53142c
mov eax, dword [ebp + 0xc7c]
mov ecx, dword [eax + 8]
mov edx, edi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x531422
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x531440
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x531458
jmp 0x5318a2
mov eax, dword [ebp + 0xc7c]
test eax, eax
je case.0x52dc2c.49
mov esi, dword [esp + 0xfbc]
cmp byte [esi], 0x20
jne 0x531489
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x531481
cmp byte [esi], 0
je case.0x52dc2c.49
push ebp
push esi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
mov edx, dword [esp + 0xfc4]
mov edi, dword [esp + 0xfc0]
mov byte [edx], al
mov byte [ebp + 0x4d4], al
mov eax, esi
sub edi, esi
mov edi, edi
mov cl, byte [eax]
mov byte [eax + edi], cl
inc eax
test cl, cl
jne 0x5314c0
mov eax, dword [ebp + 0xc7c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x5314e1
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x5314d7
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
nop
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x5314f0
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x531508
jmp 0x5318a2
mov esi, dword [esp + 0xfbc]
cmp byte [esi], 0x20
jne 0x53152b
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x531523
cmp byte [esi], 0
je case.0x52dc2c.49
push ebp
push esi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
mov eax, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
mov byte [eax], 0
mov byte [ebp + 0x4d4], 0
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x531562
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x531580
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x531598
jmp 0x5318a2
mov eax, dword [ebp + 0x1468]
test eax, eax
je case.0x52dc2c.49
mov esi, dword [esp + 0xfbc]
push ebp
push esi
call fcn.0052dab0
mov edi, eax
add esp, 8
test edi, edi
je case.0x52dc2c.49
lea eax, [ebp + 0xc98]
push ebp
push eax
push esi
call fcn.0052d480
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
push ebp
push edi
call fcn.0052dab0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
je case.0x52dc2c.49
mov eax, dword [ebp + 0x1468]
push eax
call fcn.005827d0
add esp, 4
test eax, eax
je case.0x52dc2c.49
mov cl, byte [edi]
cmp cl, 0x23
lea ebx, [eax + 8]
mov esi, ebx
jne 0x53162b
cmp dword [eax + 0x71c], 1
jmp 0x53169a
cmp cl, 0x3f
jne 0x531651
mov edx, dword [eax + 0x71c]
mov ecx, 2
cmp edx, ecx
jne case.0x52dc2c.49
cmp dword [eax + 0x720], ecx
jg case.0x52dc2c.49
jmp 0x5316a0
cmp cl, 0x3d
jne 0x531672
cmp dword [eax + 0x71c], 2
jne case.0x52dc2c.49
cmp dword [eax + 0x720], 3
jne case.0x52dc2c.49
jmp 0x5316a4
cmp cl, 0x21
jne 0x531693
cmp dword [eax + 0x71c], 2
jne case.0x52dc2c.49
cmp dword [eax + 0x720], 4
jne case.0x52dc2c.49
jmp 0x5316a4
cmp cl, 0x40
jne 0x5316a0
cmp byte [ebx], cl
jne case.0x52dc2c.49
test esi, esi
jne 0x5316c7
mov al, byte [edi + 1]
test al, al
je 0x5316ac
inc edi
push 0x20
push ebx
call fcn.005cbf10
mov esi, eax
add esp, 8
test esi, esi
je 0x5316c5
inc esi
je 0x5316c5
cmp byte [esi], 0
jne 0x5316c7
mov esi, ebx
push ebp
push esi
push edi
call fcn.0052d480
add esp, 0xc
test eax, eax
jne 0x5316e9
push ebp
push esi
push edi
call fcn.0052d510
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
mov edi, dword [esp + 0x10]
push ebp
push edi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
mov eax, dword [esp + 0xfbc]
lea edx, [ebp + 0x80c]
sub edx, eax
mov edi, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x531710
mov esi, dword [esp + 0xfc4]
mov edx, dword [esp + 0xfc0]
mov byte [esi], cl
mov byte [ebp + 0x4d4], cl
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x531734
lea eax, [ebp + 0xc98]
mov edx, esi
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x531748
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x531760
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x531778
jmp 0x5318a2
mov eax, dword [ebp + 0xc7c]
test eax, eax
je case.0x52dc2c.49
mov esi, dword [esp + 0xfbc]
push ebp
push esi
call fcn.0052dab0
mov edi, eax
add esp, 8
test edi, edi
je case.0x52dc2c.49
mov al, byte [esi]
cmp al, 0x24
jne 0x5317d7
cmp byte [esi + 1], 0x28
jne 0x5317d7
mov eax, dword [ebp + 0xc7c]
mov ecx, dword [eax + 8]
push ebp
push ecx
lea edx, [esp + 0x20]
push edx
push esi
call fcn.0052d3a0
add esp, 0x10
jmp 0x5317eb
cmp al, 0x25
jne 0x5317f7
push 0
lea eax, [esp + 0x1c]
push eax
push esi
call fcn.0057df60
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
lea esi, [esp + 0x18]
mov ecx, dword [ebp + 0xc7c]
mov edx, dword [ecx + 8]
push ebp
push edx
push esi
call fcn.0052d480
add esp, 0xc
test eax, eax
je case.0x52dc2c.49
push ebp
push edi
call fcn.0052da30
add esp, 8
test eax, eax
jne case.0x52dc2c.49
lea edx, [ebp + 0x80c]
mov eax, esi
sub edx, esi
nop
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x531830
mov edx, dword [esp + 0xfc4]
mov esi, dword [esp + 0xfc0]
mov byte [edx], cl
mov byte [ebp + 0x4d4], cl
mov eax, edi
sub esi, edi
mov cl, byte [eax]
mov byte [eax + esi], cl
inc eax
test cl, cl
jne 0x531854
mov eax, dword [ebp + 0xc7c]
mov ecx, dword [eax + 8]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x531867
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
nop
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x531880
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x531898
mov ecx, dword [esp + 0xfcc]
mov edx, dword [esp + 0xfc8]
mov dword [edx], ecx
pop edi
pop esi
pop ebx
pop ebp
add esp, 0xfa8
ret