Function at 0x502300
Capabilities:
Parse credit card information

Disassembly:
sub esp, 0x7e0
push ebx
push ebp
push edi
mov edi, edx
mov ebx, ecx
mov edx, 0x3e7
lea ecx, [esp + 0x1c]
mov dword [esp + 0xc], edi
call fcn.0041e210
mov edx, 0x3e7
lea ecx, [esp + 0x404]
call fcn.0041e210
mov ebp, dword [esp + 0x7fc]
mov eax, dword [ebp + 0x3f0]
dec eax
cmp eax, 0x4c
ja case.default.0x50234f
movzx eax, byte [eax + 0x505aa0]
push esi
jmp dword [eax*4 + 0x5059e0]
mov ecx, ebx
call fcn.00502240
mov edi, eax
test edi, edi
mov dword [esp + 0x14], edi
je case.0x50234f.48
mov eax, dword [ebp + 0xc70]
test eax, eax
mov byte [esp + 0x408], 0
mov dword [esp + 0x1c], eax
je 0x502446
mov dword [esp + 0x18], 8
lea ecx, [ecx]
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov eax, dword [esp + 0x18]
mov esi, dword [eax + edx]
test esi, esi
je 0x502446
lea ecx, [esp + 0x408]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5023b0
sub ecx, edx
mov eax, esi
mov edx, ecx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5023c0
sub eax, esi
add eax, edx
cmp eax, 0x3e7
ja 0x502446
cmp dword [esp + 0x18], 8
jle 0x5023f3
lea edi, [esp + 0x408]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x5023e1
mov cx, word [0x575258]
mov word [edi], cx
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + eax]
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x502402
lea edi, [esp + 0x408]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x502413
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [ebp + 0xc70]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
add ecx, 4
test eax, eax
mov dword [esp + 0x18], ecx
jne 0x502390
mov al, byte [ebx]
cmp al, 0x24
jne 0x502468
cmp byte [ebx + 1], 0x28
jne 0x502468
push ebp
lea edx, [esp + 0x40c]
push edx
lea edx, [esp + 0x28]
mov ecx, ebx
call fcn.00501b40
jmp 0x502479
cmp al, 0x25
jne 0x502485
push 0
lea edx, [esp + 0x24]
mov ecx, ebx
call fcn.00532d50
test eax, eax
je case.0x50234f.48
lea ebx, [esp + 0x20]
push ebp
lea edx, [esp + 0x40c]
mov ecx, ebx
call fcn.00501c20
test eax, eax
je case.0x50234f.48
mov edx, ebp
mov ecx, edi
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
lea ecx, [ebp + 0x80c]
sub ecx, ebx
mov al, byte [ebx]
mov byte [ecx + ebx], al
inc ebx
test al, al
jne 0x5024b5
mov esi, dword [esp + 0x7f4]
mov edx, dword [esp + 0x10]
mov byte [esi], al
mov byte [ebp + 0x4d4], al
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x5024d6
mov edx, esi
lea ecx, [esp + 0x408]
lea eax, [esp + 0x408]
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x5024f2
mov eax, 0x31
lea edx, [ebp + 8]
push edx
mov word [ebp + 0x7da], ax
mov word [ebp + 0x7a8], ax
call fcn.00563a6c
mov ecx, dword [esp + 0x7fc]
add esp, 4
pop esi
mov dword [ebp + 0x3f4], eax
mov eax, dword [esp + 0x7f8]
pop edi
pop ebp
mov dword [ecx], eax
pop ebx
add esp, 0x7e0
ret 0x10
mov eax, dword [ebp + 0xc70]
test eax, eax
je case.0x50234f.48
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x502565
mov ecx, ebp
call fcn.005020c0
test eax, eax
jne case.0x50234f.48
mov eax, dword [ebp + 0x404]
test eax, eax
je 0x50257e
mov ecx, ebp
call fcn.00502110
test eax, eax
je case.0x50234f.48
movzx edx, byte [ebx]
push edx
push 0x57b1d8
call fcn.00563730
add esp, 8
test eax, eax
je 0x5025bd
mov ecx, ebx
call fcn.00502240
mov esi, eax
test esi, esi
je 0x5025bd
mov eax, dword [ebp + 0xc70]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push ebp
mov ecx, ebx
call fcn.00501c80
test eax, eax
je case.0x50234f.48
mov ebx, esi
mov edx, ebp
mov ecx, ebx
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
mov edx, dword [esp + 0x7f4]
lea esi, [ebp + 0x4d4]
mov ecx, edi
mov byte [edx], al
mov byte [esi], al
sub ecx, ebx
mov al, byte [ebx]
mov byte [ecx + ebx], al
inc ebx
test al, al
jne 0x5025e3
mov cl, byte [ebp + 8]
cmp cl, 0x20
lea eax, [ebp + 8]
jne 0x502601
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x5025f8
cmp byte [eax], 0
je 0x502612
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x502608
mov edx, dword [ebp + 0xc70]
mov eax, dword [edx]
mov edx, dword [ebp + 0x1c30]
mov ecx, dword [eax + 8]
call fcn.004f8240
test al, al
je 0x50264a
mov ecx, dword [ebp + 0xc70]
mov edx, dword [ecx]
mov ecx, dword [edx + 8]
mov edx, esi
lea esp, [esp]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x502640
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x502658
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 0x502670
mov eax, dword [esp + 0x7fc]
mov ecx, dword [esp + 0x7f8]
pop esi
pop edi
pop ebp
mov dword [ecx], eax
pop ebx
add esp, 0x7e0
ret 0x10
cmp byte [ebx], 0x20
jne 0x5026a8
lea esp, [esp]
mov al, byte [ebx + 1]
inc ebx
cmp al, 0x20
je 0x5026a0
cmp byte [ebx], 0
je case.0x50234f.48
mov edx, ebp
mov ecx, ebx
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
mov edx, dword [esp + 0x7f4]
mov ecx, edi
mov byte [edx], al
mov byte [ebp + 0x4d4], al
sub ecx, ebx
mov al, byte [ebx]
mov byte [ecx + ebx], al
inc ebx
test al, al
jne 0x5026d5
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x5026f0
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 0x502708
mov eax, dword [esp + 0x7fc]
mov ecx, dword [esp + 0x7f8]
pop esi
pop edi
pop ebp
mov dword [ecx], eax
pop ebx
add esp, 0x7e0
ret 0x10
mov eax, dword [ebp + 0xc70]
test eax, eax
je case.0x50234f.48
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x502756
mov ecx, ebp
call fcn.005020c0
test eax, eax
jne case.0x50234f.48
mov eax, dword [ebp + 0x404]
test eax, eax
je 0x50276f
mov ecx, ebp
call fcn.00502110
test eax, eax
je case.0x50234f.48
push 0x3a
push ebx
call fcn.00563730
mov esi, eax
add esp, 8
test esi, esi
je case.0x50234f.48
mov byte [esi], 0
mov al, byte [ebx]
cmp al, 0x24
jne 0x5027ad
cmp byte [ebx + 1], 0x28
jne 0x5027ad
mov edx, dword [ebp + 0xc70]
mov eax, dword [edx]
mov ecx, dword [eax + 0xc]
push ebp
push ecx
lea edx, [esp + 0x28]
mov ecx, ebx
call fcn.00501b40
jmp 0x5027be
cmp al, 0x25
jne 0x5027ca
push 0
lea edx, [esp + 0x24]
mov ecx, ebx
call fcn.00532d50
test eax, eax
je case.0x50234f.48
lea ebx, [esp + 0x20]
mov edx, dword [ebp + 0xc70]
mov eax, dword [edx]
mov edx, dword [eax + 0xc]
push ebp
mov ecx, ebx
call fcn.00501c20
test eax, eax
je case.0x50234f.48
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x5027f8
lea ecx, [ecx]
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x5027f0
cmp byte [esi], 0
je case.0x50234f.48
mov ecx, esi
call fcn.00502240
mov edi, eax
test edi, edi
je case.0x50234f.48
mov ecx, dword [ebp + 0xc70]
mov edx, dword [ecx]
mov edx, dword [edx + 8]
push ebp
mov ecx, esi
call fcn.00501c80
test eax, eax
je case.0x50234f.48
mov edx, ebp
mov ecx, edi
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
lea ecx, [ebp + 0x80c]
sub ecx, ebx
mov al, byte [ebx]
mov byte [ecx + ebx], al
inc ebx
test al, al
jne 0x502846
mov ebx, dword [esp + 0x7f4]
mov edx, dword [esp + 0x10]
mov byte [ebx], al
lea esi, [ebp + 0x4d4]
mov byte [esi], al
mov eax, edi
sub edx, edi
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x502870
mov eax, dword [ebp + 0xc70]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0xc]
test ecx, ecx
je 0x50289a
mov edx, ebx
jmp 0x502890
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x502890
mov edx, dword [ebp + 0xc70]
mov eax, dword [edx]
mov edx, dword [ebp + 0x1c30]
mov ecx, dword [eax + 8]
call fcn.004f8240
test al, al
je 0x5028cb
mov ecx, dword [ebp + 0xc70]
mov edx, dword [ecx]
mov ecx, dword [edx + 8]
mov edx, esi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x5028c1
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 0x5028e0
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 0x5028f8
mov eax, dword [esp + 0x7fc]
mov ecx, dword [esp + 0x7f8]
pop esi
pop edi
pop ebp
mov dword [ecx], eax
pop ebx
add esp, 0x7e0
ret 0x10
mov ecx, ebx
call fcn.00502240
test eax, eax
mov dword [esp + 0x14], eax
je case.0x50234f.48
mov ecx, dword [ebp + 0x1458]
call fcn.005366c0
test eax, eax
je case.0x50234f.48
mov cl, byte [ebx]
cmp cl, 0x23
lea edi, [eax + 8]
mov esi, edi
jne 0x50295a
cmp dword [eax + 0x700], 1
jmp 0x5029c9
cmp cl, 0x3f
jne 0x502980
mov edx, dword [eax + 0x700]
mov ecx, 2
cmp edx, ecx
jne case.0x50234f.48
cmp dword [eax + 0x704], ecx
jg case.0x50234f.48
jmp 0x5029cf
cmp cl, 0x3d
jne 0x5029a1
cmp dword [eax + 0x700], 2
jne case.0x50234f.48
cmp dword [eax + 0x704], 3
jne case.0x50234f.48
jmp 0x5029d3
cmp cl, 0x21
jne 0x5029c2
cmp dword [eax + 0x700], 2
jne case.0x50234f.48
cmp dword [eax + 0x704], 4
jne case.0x50234f.48
jmp 0x5029d3
cmp cl, 0x40
jne 0x5029cf
cmp byte [edi], cl
jne case.0x50234f.48
test esi, esi
jne 0x5029f6
mov al, byte [ebx + 1]
test al, al
je 0x5029db
inc ebx
push 0x20
push edi
call fcn.00563730
mov esi, eax
add esp, 8
test esi, esi
je 0x5029f4
inc esi
je 0x5029f4
cmp byte [esi], 0
jne 0x5029f6
mov esi, edi
push ebp
mov edx, esi
mov ecx, ebx
call fcn.00501c20
test eax, eax
jne 0x502a16
push ebp
mov edx, esi
mov ecx, ebx
call fcn.00501c80
test eax, eax
je case.0x50234f.48
mov esi, dword [esp + 0x14]
mov edx, ebp
mov ecx, esi
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
lea ecx, [ebp + 0x80c]
sub ecx, ebx
mov al, byte [ebx]
mov byte [ecx + ebx], al
inc ebx
test al, al
jne 0x502a33
mov edx, dword [esp + 0x7f4]
mov byte [edx], al
mov edx, dword [esp + 0x10]
mov byte [ebp + 0x4d4], al
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x502a54
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 0x502a70
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 0x502a88
mov eax, dword [esp + 0x7fc]
mov ecx, dword [esp + 0x7f8]
pop esi
pop edi
pop ebp
mov dword [ecx], eax
pop ebx
add esp, 0x7e0
ret 0x10
cmp byte [ebx], 0x20
jne 0x502abc
mov al, byte [ebx + 1]
inc ebx
cmp al, 0x20
je 0x502ab4
cmp byte [ebx], 0
je case.0x50234f.48
mov edx, ebp
mov ecx, ebx
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
mov edx, dword [esp + 0x7f4]
mov ecx, edi
mov byte [edx], al
mov byte [ebp + 0x4d4], al
sub ecx, ebx
lea esp, [esp]
mov al, byte [ebx]
mov byte [ecx + ebx], al
inc ebx
test al, al
jne 0x502af0
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x502b08
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 0x502b20
mov eax, dword [esp + 0x7fc]
mov ecx, dword [esp + 0x7f8]
pop esi
pop edi
pop ebp
mov dword [ecx], eax
pop ebx
add esp, 0x7e0
ret 0x10
cmp byte [ebx], 0x20
jne 0x502b58
lea esp, [esp]
mov al, byte [ebx + 1]
inc ebx
cmp al, 0x20
je 0x502b50
cmp byte [ebx], 0
je case.0x50234f.48
mov edx, ebp
mov ecx, ebx
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
mov edx, dword [esp + 0x7f4]
mov ecx, edi
mov byte [edx], al
mov byte [ebp + 0x4d4], al
sub ecx, ebx
mov al, byte [ebx]
mov byte [ecx + ebx], al
inc ebx
test al, al
jne 0x502b85
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x502ba0
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 0x502bb8
mov eax, dword [esp + 0x7fc]
mov ecx, dword [esp + 0x7f8]
pop esi
pop edi
pop ebp
mov dword [ecx], eax
pop ebx
add esp, 0x7e0
ret 0x10
mov ecx, dword [ebp + 0xc7c]
call fcn.0042ae80
test eax, eax
je case.0x50234f.48
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x502c0b
mov ecx, ebp
call fcn.005020c0
test eax, eax
jne case.0x50234f.48
mov ecx, ebx
call fcn.00502240
mov esi, eax
test esi, esi
je case.0x50234f.48
mov al, byte [ebx]
cmp al, 0x24
jne 0x502c40
cmp byte [ebx + 1], 0x28
jne 0x502c40
mov edx, dword [ebp + 0xc7c]
add edx, 4
push ebp
push edx
lea edx, [esp + 0x28]
mov ecx, ebx
call fcn.00501b40
jmp 0x502c51
cmp al, 0x25
jne 0x502c5d
push 0
lea edx, [esp + 0x24]
mov ecx, ebx
call fcn.00532d50
test eax, eax
je case.0x50234f.48
lea ebx, [esp + 0x20]
mov edx, dword [ebp + 0xc7c]
push ebp
add edx, 4
mov ecx, ebx
call fcn.00501c20
test eax, eax
je case.0x50234f.48
mov edx, ebp
mov ecx, esi
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
lea ecx, [ebp + 0x80c]
sub ecx, ebx
nop
mov al, byte [ebx]
mov byte [ebx + ecx], al
inc ebx
test al, al
jne 0x502c90
mov ebx, dword [esp + 0x7f4]
mov byte [ebx], al
mov edx, edi
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 0x502cb0
mov eax, dword [ebp + 0xc7c]
add eax, 4
mov edx, ebx
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x502cc5
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 0x502ce0
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 0x502cf8
mov eax, dword [esp + 0x7fc]
mov ecx, dword [esp + 0x7f8]
pop esi
pop edi
pop ebp
mov dword [ecx], eax
pop ebx
add esp, 0x7e0
ret 0x10
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x502d38
mov ecx, ebp
call fcn.005020c0
test eax, eax
jne case.0x50234f.48
mov edx, ebp
mov ecx, ebx
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
mov ecx, ebx
call fcn.00502240
mov edi, eax
test edi, edi
je case.0x50234f.48
mov al, byte [ebx]
cmp al, 0x24
jne 0x502d76
cmp byte [ebx + 1], 0x28
jne 0x502d76
push ebp
push 0
lea edx, [esp + 0x28]
mov ecx, ebx
call fcn.00501b40
jmp 0x502d87
cmp al, 0x25
jne 0x502d93
push 0
lea edx, [esp + 0x24]
mov ecx, ebx
call fcn.00532d50
test eax, eax
je case.0x50234f.48
lea ebx, [esp + 0x20]
mov ecx, dword [ebp + 0x1458]
call fcn.005366c0
test eax, eax
je 0x502db5
mov ecx, dword [eax + 0x700]
test ecx, ecx
jne 0x502db5
cmp byte [ebx], 0x2a
jne case.0x50234f.48
mov al, byte [ebx]
cmp al, 0x3f
jne 0x502dca
mov ecx, dword [ebp + 0xc7c]
call fcn.0042ae80
test eax, eax
jmp 0x502e47
cmp al, 0x40
jne 0x502ddd
mov ecx, dword [ebp + 0xc7c]
call fcn.0042ae80
test eax, eax
jmp 0x502e47
cmp al, 0x3d
jne 0x502e0a
mov ecx, dword [ebp + 0xc7c]
call fcn.0042ae80
test eax, eax
je case.0x50234f.48
mov edx, dword [ebp + 0xc7c]
mov eax, dword [edx + 0x540]
test eax, eax
jne case.0x50234f.48
jmp 0x502e35
cmp al, 0x21
jne 0x502e45
mov ecx, dword [ebp + 0xc7c]
call fcn.0042ae80
test eax, eax
je case.0x50234f.48
mov eax, dword [ebp + 0xc7c]
mov ecx, dword [eax + 0x540]
test ecx, ecx
je case.0x50234f.48
mov al, byte [ebx + 1]
inc ebx
test al, al
je 0x502e73
lea edx, [ebp + 0x40c]
jmp 0x502e63
cmp al, 0x2a
jne case.0x50234f.48
lea esi, [ebp + 0x40c]
mov ecx, ebx
mov edx, esi
push ebp
call fcn.00501c20
test eax, eax
jne 0x502e73
mov edx, esi
mov ecx, ebx
push ebp
call fcn.00501c80
test eax, eax
je case.0x50234f.48
mov eax, dword [ebp + 0x1458]
test eax, eax
jne 0x502ede
mov eax, dword [ebp + 0xc70]
test eax, eax
je 0x502ede
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x502ede
push 0x3a
push edi
call fcn.00563730
mov esi, eax
add esp, 8
test esi, esi
je 0x502ede
mov byte [esi], 0
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x502eb8
lea esp, [esp]
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x502eb0
cmp byte [esi], 0
je case.0x50234f.48
mov edx, dword [ebp + 0xc70]
mov eax, dword [edx]
mov edx, dword [eax + 0xc]
push ebp
mov ecx, edi
call fcn.00501c20
test eax, eax
je case.0x50234f.48
mov edi, esi
mov edx, ebp
mov ecx, edi
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
lea ecx, [ebp + 0x80c]
sub ecx, ebx
mov al, byte [ebx]
mov byte [ebx + ecx], al
inc ebx
test al, al
jne 0x502ef7
mov esi, dword [esp + 0x7f4]
mov edx, dword [esp + 0x10]
mov byte [esi], al
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 0x502f18
mov eax, dword [ebp + 0x1458]
test eax, eax
jne 0x502f4b
mov eax, dword [ebp + 0xc70]
test eax, eax
je 0x502f4b
mov ecx, dword [eax]
mov ecx, dword [ecx + 0xc]
test ecx, ecx
je 0x502f4b
mov edx, esi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x502f41
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 0x502f60
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 0x502f78
jmp 0x5059c2
cmp byte [ebx], 0x20
jne 0x502f98
lea esp, [esp]
mov al, byte [ebx + 1]
inc ebx
cmp al, 0x20
je 0x502f90
cmp byte [ebx], 0
je case.0x50234f.48
mov edx, ebp
mov ecx, ebx
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
mov ecx, dword [esp + 0x7f4]
mov byte [ecx], al
mov ecx, edi
mov byte [ebp + 0x4d4], al
sub ecx, ebx
mov al, byte [ebx]
mov byte [ebx + ecx], al
inc ebx
test al, al
jne 0x502fc5
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 0x502fe0
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 0x502ff8
jmp 0x5059c2
cmp byte [ebx], 0x20
jne 0x503018
lea esp, [esp]
mov al, byte [ebx + 1]
inc ebx
cmp al, 0x20
je 0x503010
cmp byte [ebx], 0
je case.0x50234f.48
mov edx, ebp
mov ecx, ebx
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
mov edx, dword [esp + 0x7f4]
mov ecx, edi
mov byte [edx], al
mov byte [ebp + 0x4d4], al
sub ecx, ebx
mov al, byte [ebx]
mov byte [ebx + ecx], al
inc ebx
test al, al
jne 0x503045
lea eax, [ebp + 0xc88]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x503057
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
nop
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x503070
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 0x503088
mov ecx, dword [esp + 0x7fc]
mov edx, dword [esp + 0x7f8]
pop esi
pop edi
pop ebp
mov dword [edx], ecx
pop ebx
add esp, 0x7e0
ret 0x10
mov eax, dword [ebp + 0xc70]
test eax, eax
je case.0x50234f.48
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x5030d6
mov ecx, ebp
call fcn.005020c0
test eax, eax
jne case.0x50234f.48
mov ecx, ebx
call fcn.00502240
mov esi, eax
test esi, esi
je case.0x50234f.48
mov al, byte [ebx]
cmp al, 0x24
jne 0x50310d
cmp byte [ebx + 1], 0x28
jne 0x50310d
mov eax, dword [ebp + 0xc70]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push ebp
push edx
lea edx, [esp + 0x28]
mov ecx, ebx
call fcn.00501b40
jmp 0x50311e
cmp al, 0x25
jne 0x50312a
push 0
lea edx, [esp + 0x24]
mov ecx, ebx
call fcn.00532d50
test eax, eax
je case.0x50234f.48
lea ebx, [esp + 0x20]
mov eax, dword [ebp + 0xc70]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push ebp
mov ecx, ebx
call fcn.00501c20
test eax, eax
je case.0x50234f.48
mov edx, ebp
mov ecx, esi
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
lea ecx, [ebp + 0x80c]
sub ecx, ebx
mov edi, edi
mov al, byte [ebx]
mov byte [ecx + ebx], al
inc ebx
test al, al
jne 0x503160
mov edi, dword [esp + 0x7f4]
mov edx, dword [esp + 0x10]
mov byte [edi], al
lea ebx, [ebp + 0x4d4]
mov byte [ebx], al
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x503183
mov edx, dword [ebp + 0xc70]
mov eax, dword [edx]
mov ecx, dword [eax + 0xc]
mov edx, edi
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x5031a0
mov ecx, dword [ebp + 0xc70]
mov eax, dword [ecx]
mov edx, dword [ebp + 0x1c30]
mov ecx, dword [eax + 8]
call fcn.004f8240
test al, al
je 0x5031db
mov ecx, dword [ebp + 0xc70]
mov edx, dword [ecx]
mov ecx, dword [edx + 8]
mov edx, ebx
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x5031d1
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 0x5031f0
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 0x503208
mov eax, dword [esp + 0x7fc]
mov ecx, dword [esp + 0x7f8]
pop esi
pop edi
pop ebp
mov dword [ecx], eax
pop ebx
add esp, 0x7e0
ret 0x10
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x503248
mov ecx, ebp
call fcn.005020c0
test eax, eax
jne case.0x50234f.48
mov ecx, dword [ebp + 0xc7c]
call fcn.0042ae80
test eax, eax
jne 0x50326a
mov ecx, dword [ebp + 0xc78]
call fcn.0048a760
test eax, eax
je case.0x50234f.48
mov ecx, ebx
call fcn.00502240
mov esi, eax
test esi, esi
je case.0x50234f.48
mov ecx, dword [ebp + 0xc7c]
call fcn.0042ae80
test eax, eax
je 0x5032df
mov edx, dword [ebp + 0xc7c]
mov eax, dword [edx + 0x540]
test eax, eax
je 0x5032c4
mov eax, dword [str.FSERVE]
mov cx, word [0x57b1d4]
mov dl, byte [0x57b1d6]
mov dword [esp + 0x408], eax
mov word [esp + 0x40c], cx
mov byte [esp + 0x40e], dl
jmp 0x503307
mov eax, dword [str.CHAT]
mov cl, byte [0x575b38]
mov dword [esp + 0x408], eax
mov byte [esp + 0x40c], cl
jmp 0x503307
mov ecx, dword [ebp + 0xc78]
call fcn.0048a760
test eax, eax
je 0x503307
mov edx, dword [str.SEND]
mov al, byte [0x57b1cc]
mov dword [esp + 0x408], edx
mov byte [esp + 0x40c], al
mov al, byte [ebx]
cmp al, 0x24
jne 0x503323
cmp byte [ebx + 1], 0x28
jne 0x503323
push ebp
push 0
lea edx, [esp + 0x28]
mov ecx, ebx
call fcn.00501b40
jmp 0x503334
cmp al, 0x25
jne 0x503340
push 0
lea edx, [esp + 0x24]
mov ecx, ebx
call fcn.00532d50
test eax, eax
je case.0x50234f.48
lea ebx, [esp + 0x20]
push ebp
lea edx, [esp + 0x40c]
mov ecx, ebx
call fcn.00501c20
test eax, eax
je case.0x50234f.48
mov edx, ebp
mov ecx, esi
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
lea ecx, [ebp + 0x80c]
sub ecx, ebx
mov al, byte [ebx]
mov byte [ecx + ebx], al
inc ebx
test al, al
jne 0x503370
mov ecx, dword [esp + 0x7f4]
mov byte [ecx], al
mov edx, edi
mov byte [ebp + 0x4d4], al
mov eax, esi
sub edx, esi
nop
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x503390
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x5033a8
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 0x5033c0
jmp 0x5059c2
mov ecx, dword [ebp + 0xc58]
call fcn.00456f50
test eax, eax
je case.0x50234f.48
push 0x3a
push ebx
call fcn.00563730
mov esi, eax
add esp, 8
test esi, esi
je case.0x50234f.48
mov byte [esi], 0
mov edx, dword [ebp + 0xc58]
push ebp
mov ecx, ebx
call fcn.00501c20
test eax, eax
je case.0x50234f.48
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x503420
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x503418
cmp byte [esi], 0
je case.0x50234f.48
mov ecx, esi
call fcn.00502240
mov edi, eax
test edi, edi
je case.0x50234f.48
lea ebx, [ebx]
push 0x2c
push esi
call fcn.00563730
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x50345e
mov byte [ebx], 0
mov al, byte [ebx + 1]
inc ebx
test al, al
jne 0x50345e
xor ebx, ebx
cmp byte [esi], 0x20
jne 0x50346b
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x503463
mov edx, dword [ebp + 0xc58]
push ebp
add edx, 0xf0
mov ecx, esi
call fcn.00501c20
test eax, eax
jne 0x50348f
test ebx, ebx
je case.0x50234f.48
mov esi, ebx
jmp 0x503440
mov ecx, edi
mov esi, edi
call fcn.00502240
mov edi, eax
test edi, edi
je case.0x50234f.48
push 0x2c
push esi
call fcn.00563730
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x5034c0
mov byte [ebx], 0
mov al, byte [ebx + 1]
inc ebx
test al, al
jne 0x5034c0
xor ebx, ebx
cmp byte [esi], 0x20
jne 0x5034cd
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x5034c5
cmp byte [esi], 0
je 0x5034fd
push 0x57561c
push esi
call fcn.00572b46
add esp, 8
test eax, eax
je 0x503509
push esi
call fcn.00563a6c
mov ecx, dword [ebp + 0xc58]
mov edx, dword [ecx + 0x154]
add esp, 4
cmp eax, edx
je 0x503509
test ebx, ebx
je case.0x50234f.48
mov esi, ebx
jmp 0x5034a2
mov edx, ebp
mov ecx, edi
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
mov edx, dword [esp + 0x7f4]
mov byte [edx], al
mov edx, dword [esp + 0x10]
mov byte [ebp + 0x4d4], al
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x503531
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 0x503550
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 0x503568
mov eax, dword [esp + 0x7fc]
mov ecx, dword [esp + 0x7f8]
pop esi
pop edi
pop ebp
mov dword [ecx], eax
pop ebx
add esp, 0x7e0
ret 0x10
cmp byte [ebx], 0x20
jne 0x50359c
mov al, byte [ebx + 1]
inc ebx
cmp al, 0x20
je 0x503594
cmp byte [ebx], 0
je case.0x50234f.48
mov edx, ebp
mov ecx, ebx
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
mov edx, dword [esp + 0x7f4]
mov ecx, edi
mov byte [edx], al
mov byte [ebp + 0x4d4], al
sub ecx, ebx
lea esp, [esp]
mov al, byte [ebx]
mov byte [ecx + ebx], al
inc ebx
test al, al
jne 0x5035d0
mov eax, dword [ebp + 0x1c30]
add eax, 0x10c2
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x5035e5
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x503600
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 0x503618
jmp 0x5059c2
cmp byte [ebx], 0x20
jne 0x503638
lea esp, [esp]
mov al, byte [ebx + 1]
inc ebx
cmp al, 0x20
je 0x503630
cmp byte [ebx], 0
je case.0x50234f.48
mov edx, ebp
mov ecx, ebx
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
mov ecx, dword [esp + 0x7f4]
mov byte [ecx], al
mov ecx, edi
mov byte [ebp + 0x4d4], al
sub ecx, ebx
mov al, byte [ebx]
mov byte [ecx + ebx], al
inc ebx
test al, al
jne 0x503665
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x503680
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 0x503698
jmp 0x5059c2
mov eax, dword [ebp + 0xc70]
test eax, eax
je case.0x50234f.48
mov ecx, ebx
call fcn.00502240
mov esi, eax
test esi, esi
je case.0x50234f.48
mov ecx, dword [ebp + 0xc70]
mov byte [esp + 0x408], 0
mov edx, dword [ecx]
push edx
lea edx, [esp + 0x40c]
xor ecx, ecx
call fcn.004ed300
mov al, byte [ebx]
cmp al, 0x24
jne 0x503707
cmp byte [ebx + 1], 0x28
jne 0x503707
push ebp
lea eax, [esp + 0x40c]
push eax
lea edx, [esp + 0x28]
mov ecx, ebx
call fcn.00501b40
jmp 0x503718
cmp al, 0x25
jne 0x503724
push 0
lea edx, [esp + 0x24]
mov ecx, ebx
call fcn.00532d50
test eax, eax
je case.0x50234f.48
lea ebx, [esp + 0x20]
push ebp
lea edx, [esp + 0x40c]
mov ecx, ebx
call fcn.00501c20
test eax, eax
je case.0x50234f.48
mov edx, ebp
mov ecx, esi
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
lea ecx, [ebp + 0x80c]
sub ecx, ebx
mov al, byte [ebx]
mov byte [ecx + ebx], al
inc ebx
test al, al
jne 0x503754
mov ebx, dword [esp + 0x7f4]
mov byte [ebx], al
mov edx, edi
mov byte [ebp + 0x4d4], al
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x503773
mov edx, ebx
lea ecx, [esp + 0x408]
lea eax, [esp + 0x408]
sub edx, ecx
nop
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x503790
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x5037a8
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 0x5037c0
jmp 0x5059c2
cmp byte [ebx], 0x20
jne 0x5037dc
mov al, byte [ebx + 1]
inc ebx
cmp al, 0x20
je 0x5037d4
cmp byte [ebx], 0
je case.0x50234f.48
mov edx, ebp
mov ecx, ebx
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
mov ecx, dword [esp + 0x7f4]
mov byte [ecx], al
mov ecx, edi
mov byte [ebp + 0x4d4], al
sub ecx, ebx
lea esp, [esp]
mov al, byte [ebx]
mov byte [ecx + ebx], al
inc ebx
test al, al
jne 0x503810
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x503828
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 0x503840
jmp 0x5059c2
mov ecx, dword [ebp + 0xc78]
call fcn.0048a760
test eax, eax
je case.0x50234f.48
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x50387b
mov ecx, ebp
call fcn.005020c0
test eax, eax
jne case.0x50234f.48
mov ecx, ebx
call fcn.00502240
mov esi, eax
test esi, esi
je case.0x50234f.48
mov al, byte [ebx]
cmp al, 0x24
jne 0x5038b3
cmp byte [ebx + 1], 0x28
jne 0x5038b3
mov ecx, dword [ebp + 0xc78]
add ecx, 0x234
push ebp
push ecx
lea edx, [esp + 0x28]
mov ecx, ebx
call fcn.00501b40
jmp 0x5038c4
cmp al, 0x25
jne 0x5038d0
push 0
lea edx, [esp + 0x24]
mov ecx, ebx
call fcn.00532d50
test eax, eax
je case.0x50234f.48
lea ebx, [esp + 0x20]
mov edx, dword [ebp + 0xc78]
push ebp
add edx, 0x234
mov ecx, ebx
call fcn.00501f40
test eax, eax
je case.0x50234f.48
mov edx, ebp
mov ecx, esi
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
mov edx, dword [esp + 0x7f4]
mov byte [edx], al
mov edx, edi
mov byte [ebp + 0x4d4], al
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x503912
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x503930
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 0x503948
mov eax, dword [esp + 0x7fc]
mov ecx, dword [esp + 0x7f8]
pop esi
pop edi
pop ebp
mov dword [ecx], eax
pop ebx
add esp, 0x7e0
ret 0x10
mov ecx, dword [ebp + 0xc74]
call fcn.0050d160
test eax, eax
je case.0x50234f.48
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x50399b
mov ecx, ebp
call fcn.005020c0
test eax, eax
jne case.0x50234f.48
mov ecx, ebx
call fcn.00502240
mov esi, eax
test esi, esi
je case.0x50234f.48
mov al, byte [ebx]
cmp al, 0x24
jne 0x5039d3
cmp byte [ebx + 1], 0x28
jne 0x5039d3
mov edx, dword [ebp + 0xc74]
add edx, 0x234
push ebp
push edx
lea edx, [esp + 0x28]
mov ecx, ebx
call fcn.00501b40
jmp 0x5039e4
cmp al, 0x25
jne 0x5039f0
push 0
lea edx, [esp + 0x24]
mov ecx, ebx
call fcn.00532d50
test eax, eax
je case.0x50234f.48
lea ebx, [esp + 0x20]
mov edx, dword [ebp + 0xc74]
push ebp
add edx, 0x234
mov ecx, ebx
call fcn.00501f40
test eax, eax
je case.0x50234f.48
mov edx, ebp
mov ecx, esi
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
mov eax, dword [esp + 0x7f4]
mov byte [eax], 0
mov edx, edi
mov byte [ebp + 0x4d4], 0
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x503a34
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 0x503a50
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 0x503a68
mov ecx, dword [esp + 0x7fc]
mov edx, dword [esp + 0x7f8]
pop esi
pop edi
pop ebp
mov dword [edx], ecx
pop ebx
add esp, 0x7e0
ret 0x10
mov eax, dword [ebp + 0x1458]
test eax, eax
je case.0x50234f.48
mov al, byte [ebp + 0x106f]
test al, al
je case.0x50234f.48
mov ecx, ebx
call fcn.00502240
mov edi, eax
test edi, edi
je case.0x50234f.48
push ebp
lea edx, [ebp + 0x106f]
call fcn.00501c20
test eax, eax
je case.0x50234f.48
mov ecx, edi
call fcn.00502240
test eax, eax
mov dword [esp + 0x14], eax
je case.0x50234f.48
mov ecx, dword [ebp + 0x1458]
call fcn.005366c0
test eax, eax
je case.0x50234f.48
mov cl, byte [edi]
cmp cl, 0x23
lea esi, [eax + 8]
mov dword [esp + 0x18], esi
jne 0x503b0d
cmp dword [eax + 0x700], 1
jmp 0x503b7c
cmp cl, 0x3f
jne 0x503b33
mov edx, dword [eax + 0x700]
mov ecx, 2
cmp edx, ecx
jne case.0x50234f.48
cmp dword [eax + 0x704], ecx
jg case.0x50234f.48
jmp 0x503b82
cmp cl, 0x3d
jne 0x503b54
cmp dword [eax + 0x700], 2
jne case.0x50234f.48
cmp dword [eax + 0x704], 3
jne case.0x50234f.48
jmp 0x503b86
cmp cl, 0x21
jne 0x503b75
cmp dword [eax + 0x700], 2
jne case.0x50234f.48
cmp dword [eax + 0x704], 4
jne case.0x50234f.48
jmp 0x503b86
cmp cl, 0x40
jne 0x503b82
cmp byte [esi], cl
jne case.0x50234f.48
test esi, esi
jne 0x503baf
mov al, byte [edi + 1]
test al, al
je 0x503b8e
inc edi
mov eax, dword [esp + 0x18]
push 0x20
push eax
call fcn.00563730
mov esi, eax
add esp, 8
test esi, esi
je 0x503bab
inc esi
je 0x503bab
cmp byte [esi], 0
jne 0x503baf
mov esi, dword [esp + 0x18]
push ebp
mov edx, esi
mov ecx, edi
call fcn.00501c20
test eax, eax
jne 0x503bcf
push ebp
mov edx, esi
mov ecx, edi
call fcn.00501c80
test eax, eax
je case.0x50234f.48
mov edi, dword [esp + 0x14]
mov edx, ebp
mov ecx, edi
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
lea ecx, [ebp + 0x80c]
mov dword [ebp + 0xc6c], 1
sub ecx, ebx
mov al, byte [ebx]
mov byte [ebx + ecx], al
inc ebx
test al, al
jne 0x503bf6
mov esi, dword [esp + 0x7f4]
mov edx, dword [esp + 0x10]
mov byte [esi], al
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 0x503c17
lea eax, [ebp + 0x106f]
mov edx, esi
sub edx, eax
jmp 0x503c30
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x503c30
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 0x503c48
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 0x503c60
mov ecx, dword [esp + 0x7fc]
mov edx, dword [esp + 0x7f8]
pop esi
pop edi
pop ebp
mov dword [edx], ecx
pop ebx
add esp, 0x7e0
ret 0x10
mov ecx, ebx
call fcn.00502240
test eax, eax
mov dword [esp + 0x14], eax
je case.0x50234f.48
mov ecx, dword [ebp + 0x1458]
call fcn.005366c0
test eax, eax
je case.0x50234f.48
mov cl, byte [ebx]
cmp cl, 0x23
lea edi, [eax + 8]
mov esi, edi
jne 0x503cc2
cmp dword [eax + 0x700], 1
jmp 0x503d31
cmp cl, 0x3f
jne 0x503ce8
mov edx, dword [eax + 0x700]
mov ecx, 2
cmp edx, ecx
jne case.0x50234f.48
cmp dword [eax + 0x704], ecx
jg case.0x50234f.48
jmp 0x503d37
cmp cl, 0x3d
jne 0x503d09
cmp dword [eax + 0x700], 2
jne case.0x50234f.48
cmp dword [eax + 0x704], 3
jne case.0x50234f.48
jmp 0x503d3b
cmp cl, 0x21
jne 0x503d2a
cmp dword [eax + 0x700], 2
jne case.0x50234f.48
cmp dword [eax + 0x704], 4
jne case.0x50234f.48
jmp 0x503d3b
cmp cl, 0x40
jne 0x503d37
cmp byte [edi], cl
jne case.0x50234f.48
test esi, esi
jne 0x503d5e
mov al, byte [ebx + 1]
test al, al
je 0x503d43
inc ebx
push 0x20
push edi
call fcn.00563730
mov esi, eax
add esp, 8
test esi, esi
je 0x503d5c
inc esi
je 0x503d5c
cmp byte [esi], 0
jne 0x503d5e
mov esi, edi
push ebp
mov edx, esi
mov ecx, ebx
call fcn.00501c20
test eax, eax
jne 0x503d7e
push ebp
mov edx, esi
mov ecx, ebx
call fcn.00501c80
test eax, eax
je case.0x50234f.48
mov edi, dword [esp + 0x14]
mov edx, ebp
mov ecx, edi
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
lea ecx, [ebp + 0x80c]
sub ecx, ebx
jmp 0x503da0
mov al, byte [ebx]
mov byte [ebx + ecx], al
inc ebx
test al, al
jne 0x503da0
mov esi, dword [esp + 0x7f4]
mov edx, dword [esp + 0x10]
mov byte [esi], al
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 0x503dc1
mov ecx, dword [0x595d40]
test ecx, ecx
je 0x503de1
mov edx, esi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x503dd7
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 0x503df0
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 0x503e08
mov eax, dword [esp + 0x7fc]
mov ecx, dword [esp + 0x7f8]
pop esi
pop edi
pop ebp
mov dword [ecx], eax
pop ebx
add esp, 0x7e0
ret 0x10
mov eax, dword [ebp + 0xc70]
test eax, eax
je case.0x50234f.48
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x503e56
mov ecx, ebp
call fcn.005020c0
test eax, eax
jne case.0x50234f.48
mov ecx, ebx
call fcn.00502240
mov esi, eax
test esi, esi
je case.0x50234f.48
mov edx, dword [ebp + 0xc70]
mov eax, dword [edx]
mov edx, dword [eax + 0xc]
push ebp
call fcn.00501c80
test eax, eax
je case.0x50234f.48
mov edx, ebp
mov ecx, esi
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
mov ecx, dword [esp + 0x7f4]
mov byte [ecx], al
lea ebx, [ebp + 0x4d4]
mov edx, edi
mov byte [ebx], al
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x503ea8
mov edx, dword [ebp + 0xc70]
mov eax, dword [edx]
mov edx, dword [ebp + 0x1c30]
mov ecx, dword [eax + 0xc]
call fcn.004f8240
test al, al
je 0x503eea
mov ecx, dword [ebp + 0xc70]
mov edx, dword [ecx]
mov ecx, dword [edx + 0xc]
mov edx, ebx
lea esp, [esp]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x503ee0
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 0x503ef8
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 0x503f10
mov eax, dword [esp + 0x7fc]
mov ecx, dword [esp + 0x7f8]
pop esi
pop edi
pop ebp
mov dword [ecx], eax
pop ebx
add esp, 0x7e0
ret 0x10
mov eax, dword [ebp + 0xc70]
test eax, eax
je case.0x50234f.48
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x503f5e
mov ecx, ebp
call fcn.005020c0
test eax, eax
jne case.0x50234f.48
mov eax, dword [ebp + 0x404]
test eax, eax
je 0x503f77
mov ecx, ebp
call fcn.00502110
test eax, eax
je case.0x50234f.48
mov ecx, ebx
call fcn.00502240
mov esi, eax
test esi, esi
je case.0x50234f.48
mov edx, dword [ebp + 0xc70]
mov eax, dword [edx]
mov edx, dword [eax + 8]
push ebp
call fcn.00501c80
test eax, eax
je case.0x50234f.48
mov edx, ebp
mov ecx, esi
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
mov ecx, dword [esp + 0x7f4]
mov byte [ecx], al
lea ebx, [ebp + 0x4d4]
mov edx, edi
mov byte [ebx], al
mov eax, esi
sub edx, esi
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x503fd0
mov edx, dword [ebp + 0xc70]
mov eax, dword [edx]
mov edx, dword [ebp + 0x1c30]
mov ecx, dword [eax + 8]
call fcn.004f8240
test al, al
je 0x50400b
mov ecx, dword [ebp + 0xc70]
mov edx, dword [ecx]
mov ecx, dword [edx + 8]
mov edx, ebx
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x504001
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 0x504020
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 0x504038
mov eax, dword [esp + 0x7fc]
mov ecx, dword [esp + 0x7f8]
pop esi
pop edi
pop ebp
mov dword [ecx], eax
pop ebx
add esp, 0x7e0
ret 0x10
mov eax, dword [ebp + 0xc70]
test eax, eax
je case.0x50234f.48
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x504086
mov ecx, ebp
call fcn.005020c0
test eax, eax
jne case.0x50234f.48
mov eax, dword [ebp + 0x404]
test eax, eax
je 0x50409f
mov ecx, ebp
call fcn.00502110
test eax, eax
je case.0x50234f.48
mov ecx, ebx
call fcn.00502240
mov esi, eax
test esi, esi
je case.0x50234f.48
mov edx, dword [ebp + 0xc70]
mov eax, dword [edx]
mov edx, dword [eax + 8]
push ebp
call fcn.00501c80
test eax, eax
je case.0x50234f.48
mov edx, ebp
mov ecx, esi
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
mov edi, dword [esp + 0x7f4]
mov edx, dword [esp + 0x10]
mov byte [edi], al
lea ebx, [ebp + 0x4d4]
mov byte [ebx], al
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x5040f3
mov ecx, dword [ebp + 0xc70]
mov edx, dword [ecx]
mov ecx, dword [edx + 0x10]
test ecx, ecx
je 0x50411a
mov edx, edi
mov edi, edi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x504110
mov eax, dword [ebp + 0xc70]
mov ecx, dword [eax]
mov edx, dword [ebp + 0x1c30]
mov ecx, dword [ecx + 8]
call fcn.004f8240
test al, al
je 0x50414b
mov edx, dword [ebp + 0xc70]
mov eax, dword [edx]
mov ecx, dword [eax + 8]
mov edx, ebx
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x504141
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 0x504160
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 0x504178
mov ecx, dword [esp + 0x7fc]
mov edx, dword [esp + 0x7f8]
pop esi
pop edi
pop ebp
mov dword [edx], ecx
pop ebx
add esp, 0x7e0
ret 0x10
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x5041b8
mov ecx, ebp
call fcn.005020c0
test eax, eax
jne case.0x50234f.48
mov eax, dword [ebp + 0x404]
test eax, eax
je 0x5041d1
mov ecx, ebp
call fcn.00502110
test eax, eax
je case.0x50234f.48
mov ecx, ebx
call fcn.00502240
mov esi, eax
test esi, esi
je case.0x50234f.48
mov edx, dword [ebp + 0x1c30]
lea ecx, [esp + 0x408]
call fcn.004dcdb0
push ebp
lea edx, [esp + 0x40c]
mov ecx, ebx
call fcn.00501c20
test eax, eax
je case.0x50234f.48
mov edx, ebp
mov ecx, esi
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
mov eax, dword [esp + 0x7f4]
mov byte [eax], 0
mov edx, edi
mov byte [ebp + 0x4d4], 0
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x504233
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
jmp 0x504250
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x504250
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 0x504268
mov ecx, dword [esp + 0x7fc]
mov edx, dword [esp + 0x7f8]
pop esi
pop edi
pop ebp
mov dword [edx], ecx
pop ebx
add esp, 0x7e0
ret 0x10
mov ecx, dword [ebp + 0x1458]
test ecx, ecx
je case.0x50234f.48
call fcn.005366c0
mov edi, eax
test edi, edi
mov dword [esp + 0x1c], edi
je case.0x50234f.48
push 0x3a
push ebx
call fcn.00563730
mov esi, eax
add esp, 8
test esi, esi
je case.0x50234f.48
mov byte [esi], 0
mov al, byte [ebx]
cmp al, 0x24
jne 0x5042e4
cmp byte [ebx + 1], 0x28
jne 0x5042e4
push ebp
push 0
lea edx, [esp + 0x28]
mov ecx, ebx
call fcn.00501b40
jmp 0x5042f5
cmp al, 0x25
jne 0x504301
push 0
lea edx, [esp + 0x24]
mov ecx, ebx
call fcn.00532d50
test eax, eax
je case.0x50234f.48
lea ebx, [esp + 0x20]
push 0x575618
push ebx
call fcn.00572b46
add esp, 8
test eax, eax
je 0x504326
push ebp
lea edx, [edi + 8]
mov ecx, ebx
call fcn.00501c20
test eax, eax
je case.0x50234f.48
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x504338
mov edi, edi
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x504330
cmp byte [esi], 0
je case.0x50234f.48
mov ecx, esi
call fcn.00502240
mov edi, eax
test edi, edi
je case.0x50234f.48
push 0x2c
push esi
call fcn.00563730
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x504370
mov byte [ebx], 0
mov al, byte [ebx + 1]
inc ebx
test al, al
jne 0x504370
xor ebx, ebx
cmp byte [esi], 0x20
jne 0x50437d
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x504375
cmp byte [esi], 0
je 0x5043a7
push 0x57561c
push esi
call fcn.00572b46
add esp, 8
test eax, eax
je 0x5043b3
push esi
call fcn.00563a6c
mov ecx, dword [ebp + 0xc60]
add esp, 4
cmp eax, ecx
je 0x5043b3
test ebx, ebx
je case.0x50234f.48
mov esi, ebx
jmp 0x504352
mov edx, ebp
mov ecx, edi
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
mov eax, dword [esp + 0x7f4]
mov edx, dword [esp + 0x10]
mov byte [eax], 0
lea ebx, [ebp + 0x4d4]
mov byte [ebx], 0
mov eax, edi
sub edx, edi
nop
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x5043e0
mov esi, dword [esp + 0x1c]
mov edx, dword [ebp + 0x1c30]
add esi, 8
mov ecx, esi
call fcn.004f8240
test al, al
je 0x504412
mov edx, ebx
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x504408
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x504420
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 0x504438
mov ecx, dword [esp + 0x7fc]
mov edx, dword [esp + 0x7f8]
pop esi
pop edi
pop ebp
mov dword [edx], ecx
pop ebx
add esp, 0x7e0
ret 0x10
cmp byte [ebx], 0x20
jne 0x50446c
mov al, byte [ebx + 1]
inc ebx
cmp al, 0x20
je 0x504464
cmp byte [ebx], 0
je case.0x50234f.48
mov edx, ebp
mov ecx, ebx
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
mov eax, dword [esp + 0x7f4]
mov ecx, edi
mov byte [eax], 0
mov byte [ebp + 0x4d4], 0
sub ecx, ebx
jmp 0x5044a0
mov al, byte [ebx]
mov byte [ecx + ebx], al
inc ebx
test al, al
jne 0x5044a0
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x5044b8
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 0x5044d0
mov ecx, dword [esp + 0x7fc]
mov edx, dword [esp + 0x7f8]
pop esi
pop edi
pop ebp
mov dword [edx], ecx
pop ebx
add esp, 0x7e0
ret 0x10
mov eax, dword [ebp + 0xc70]
test eax, eax
je case.0x50234f.48
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x50451e
mov ecx, ebp
call fcn.005020c0
test eax, eax
jne case.0x50234f.48
mov eax, dword [ebp + 0x404]
test eax, eax
je 0x504537
mov ecx, ebp
call fcn.00502110
test eax, eax
je case.0x50234f.48
mov ecx, ebx
call fcn.00502240
mov esi, eax
test esi, esi
je case.0x50234f.48
mov eax, dword [ebp + 0xc70]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push ebp
mov ecx, ebx
call fcn.00501c80
test eax, eax
je case.0x50234f.48
mov edx, ebp
mov ecx, esi
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
mov edi, dword [esp + 0x7f4]
mov edx, dword [esp + 0x10]
mov byte [edi], al
lea ebx, [ebp + 0x4d4]
mov byte [ebx], 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 0x504590
mov edx, dword [ebp + 0xc70]
mov eax, dword [edx]
mov edx, dword [ebp + 0x1c30]
mov ecx, dword [eax + 8]
call fcn.004f8240
test al, al
je 0x5045cb
mov ecx, dword [ebp + 0xc70]
mov edx, dword [ecx]
mov ecx, dword [edx + 8]
mov edx, ebx
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x5045c1
mov eax, dword [ebp + 0xc70]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0xc]
test ecx, ecx
je 0x504669
mov edx, edi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x5045e0
mov edx, dword [ebp + 0xc70]
mov eax, dword [edx]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x504669
mov ebx, 0x10
jmp 0x504607
mov edi, dword [esp + 0x7f4]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x504608
mov cx, word [0x575258]
mov word [edi], cx
mov edx, dword [ebp + 0xc70]
mov eax, dword [edx]
mov eax, dword [eax + ebx]
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x504627
mov edi, dword [esp + 0x7f4]
sub eax, ecx
mov esi, ecx
dec edi
lea ebx, [ebx]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x504640
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 + 0xc70]
mov edx, dword [ecx]
mov eax, dword [ebx + edx + 4]
add ebx, 4
test eax, eax
jne 0x504600
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x504677
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
nop
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x504690
mov eax, dword [esp + 0x7fc]
mov ecx, dword [esp + 0x7f8]
pop esi
pop edi
pop ebp
mov dword [ecx], eax
pop ebx
add esp, 0x7e0
ret 0x10
mov eax, dword [ebp + 0xc70]
test eax, eax
je case.0x50234f.48
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x5046de
mov ecx, ebp
call fcn.005020c0
test eax, eax
jne case.0x50234f.48
cmp byte [ebx], 0x20
jne 0x5046eb
mov al, byte [ebx + 1]
inc ebx
cmp al, 0x20
je 0x5046e3
cmp byte [ebx], 0
je case.0x50234f.48
mov edx, ebp
mov ecx, ebx
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
mov edx, dword [esp + 0x7f4]
mov ecx, edi
mov byte [edx], al
mov byte [ebp + 0x4d4], al
sub ecx, ebx
mov al, byte [ebx]
mov byte [ecx + ebx], al
inc ebx
test al, al
jne 0x504718
mov eax, dword [ebp + 0xc70]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
lea edx, [ebp + 0x470]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x504733
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
jmp 0x504750
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x504750
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 0x504768
jmp 0x5059c2
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x504790
mov ecx, ebp
call fcn.005020c0
test eax, eax
jne case.0x50234f.48
cmp byte [ebx], 0x20
jne 0x50479d
mov al, byte [ebx + 1]
inc ebx
cmp al, 0x20
je 0x504795
cmp byte [ebx], 0
je case.0x50234f.48
mov edx, ebp
mov ecx, ebx
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
mov ecx, dword [esp + 0x7f4]
mov byte [ecx], al
mov ecx, edi
mov byte [ebp + 0x4d4], al
sub ecx, ebx
lea ebx, [ebx]
mov al, byte [ebx]
mov byte [ecx + ebx], al
inc ebx
test al, al
jne 0x5047d0
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x5047e8
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 0x504800
jmp 0x5059c2
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x504828
mov ecx, ebp
call fcn.005020c0
test eax, eax
jne case.0x50234f.48
cmp byte [ebx], 0x20
jne 0x504838
lea ecx, [ecx]
mov al, byte [ebx + 1]
inc ebx
cmp al, 0x20
je 0x504830
cmp byte [ebx], 0
je case.0x50234f.48
mov edx, ebp
mov ecx, ebx
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
mov esi, dword [esp + 0x7f4]
mov ecx, dword [esp + 0x10]
lea edi, [ebp + 0x4d4]
mov byte [esi], al
mov byte [edi], al
sub ecx, ebx
lea esp, [esp]
mov al, byte [ebx]
mov byte [ecx + ebx], al
inc ebx
test al, al
jne 0x504870
mov ecx, dword [ebp + 0xc7c]
call fcn.0042ae80
test eax, eax
je 0x5048a0
mov eax, dword [ebp + 0xc7c]
add eax, 4
mov edx, esi
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x504894
jmp 0x5048f0
mov eax, dword [ebp + 0xc70]
test eax, eax
je 0x5048f0
mov ecx, dword [eax]
mov ecx, dword [ecx + 0xc]
test ecx, ecx
je 0x5048bf
mov edx, esi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x5048b5
mov edx, dword [ebp + 0xc70]
mov eax, dword [edx]
mov edx, dword [ebp + 0x1c30]
mov ecx, dword [eax + 8]
call fcn.004f8240
test al, al
je 0x5048f0
mov ecx, dword [ebp + 0xc70]
mov edx, dword [ecx]
mov ecx, dword [edx + 8]
mov edx, edi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x5048e6
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov edi, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x504900
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 0x504918
mov eax, dword [esp + 0x7fc]
mov ecx, dword [esp + 0x7f8]
pop esi
pop edi
pop ebp
mov dword [ecx], eax
pop ebx
add esp, 0x7e0
ret 0x10
mov eax, dword [ebp + 0xc70]
test eax, eax
je case.0x50234f.48
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x504966
mov ecx, ebp
call fcn.005020c0
test eax, eax
jne case.0x50234f.48
mov eax, dword [ebp + 0x404]
test eax, eax
je 0x50497f
mov ecx, ebp
call fcn.00502110
test eax, eax
je case.0x50234f.48
mov ecx, ebx
call fcn.00502240
mov esi, eax
test esi, esi
je case.0x50234f.48
mov edx, dword [ebp + 0xc70]
mov eax, dword [edx]
mov edx, dword [eax + 8]
push ebp
call fcn.00501c80
test eax, eax
je case.0x50234f.48
mov edx, ebp
mov ecx, esi
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
mov edi, dword [esp + 0x7f4]
mov edx, dword [esp + 0x10]
mov byte [edi], 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 0x5049d1
mov ecx, dword [ebp + 0xc70]
mov edx, dword [ecx]
mov ecx, dword [edx + 0xc]
test ecx, ecx
je 0x504a79
mov edx, edi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x5049f0
mov eax, dword [ebp + 0xc70]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x504a79
mov ebx, 0x10
jmp 0x504a17
mov edi, dword [esp + 0x7f4]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x504a18
mov dx, word [0x575258]
mov word [edi], dx
mov eax, dword [ebp + 0xc70]
mov ecx, dword [eax]
mov eax, dword [ecx + ebx]
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x504a37
mov edi, dword [esp + 0x7f4]
sub eax, ecx
mov esi, ecx
dec edi
lea ebx, [ebx]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x504a50
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 + 0xc70]
mov eax, dword [edx]
mov ecx, dword [ebx + eax + 4]
add ebx, 4
test ecx, ecx
jne 0x504a10
mov ecx, dword [ebp + 0xc70]
mov eax, dword [ecx]
mov edx, dword [ebp + 0x1c30]
mov ecx, dword [eax + 8]
call fcn.004f8240
test al, al
je 0x504aae
mov ecx, dword [ebp + 0xc70]
mov edx, dword [ecx]
mov ecx, dword [edx + 8]
lea edx, [ebp + 0x4d4]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x504aa4
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 0x504ac0
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 0x504ad8
mov eax, dword [esp + 0x7fc]
mov ecx, dword [esp + 0x7f8]
pop esi
pop edi
pop ebp
mov dword [ecx], eax
pop ebx
add esp, 0x7e0
ret 0x10
mov eax, dword [ebp + 0xc70]
test eax, eax
je case.0x50234f.48
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x504b26
mov ecx, ebp
call fcn.005020c0
test eax, eax
jne case.0x50234f.48
mov eax, dword [ebp + 0x404]
test eax, eax
je 0x504b3f
mov ecx, ebp
call fcn.00502110
test eax, eax
je case.0x50234f.48
mov ecx, ebx
call fcn.00502240
mov esi, eax
test esi, esi
je case.0x50234f.48
mov edx, dword [ebp + 0xc70]
mov eax, dword [edx]
mov edx, dword [eax + 8]
push ebp
call fcn.00501c80
test eax, eax
je case.0x50234f.48
mov edx, ebp
mov ecx, esi
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
mov edi, dword [esp + 0x7f4]
mov edx, dword [esp + 0x10]
mov byte [edi], al
lea ebx, [ebp + 0x4d4]
mov byte [ebx], al
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x504b93
mov ecx, dword [ebp + 0xc70]
mov edx, dword [ecx]
mov ecx, dword [edx + 0xc]
test ecx, ecx
je 0x504bba
mov edx, edi
mov edi, edi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x504bb0
mov eax, dword [ebp + 0xc70]
mov ecx, dword [eax]
mov edx, dword [ebp + 0x1c30]
mov ecx, dword [ecx + 8]
call fcn.004f8240
test al, al
je 0x504beb
mov edx, dword [ebp + 0xc70]
mov eax, dword [edx]
mov ecx, dword [eax + 8]
mov edx, ebx
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x504be1
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 0x504c00
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 0x504c18
mov ecx, dword [esp + 0x7fc]
mov edx, dword [esp + 0x7f8]
pop esi
pop edi
pop ebp
mov dword [edx], ecx
pop ebx
add esp, 0x7e0
ret 0x10
mov eax, dword [ebp + 0xc70]
test eax, eax
je case.0x50234f.48
cmp byte [ebx], 0x20
jne 0x504c5a
mov al, byte [ebx + 1]
inc ebx
cmp al, 0x20
je 0x504c52
cmp byte [ebx], 0
je case.0x50234f.48
mov edx, ebp
mov ecx, ebx
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
mov edx, dword [esp + 0x7f4]
mov ecx, edi
mov byte [edx], al
mov byte [ebp + 0x4d4], al
sub ecx, ebx
mov al, byte [ebx]
mov byte [ebx + ecx], al
inc ebx
test al, al
jne 0x504c87
mov eax, dword [ebp + 0xc70]
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x504caa
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x504ca0
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 0x504cb8
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 0x504cd0
jmp 0x5059c2
cmp byte [ebx], 0x20
jne 0x504cec
mov al, byte [ebx + 1]
inc ebx
cmp al, 0x20
je 0x504ce4
cmp byte [ebx], 0
je case.0x50234f.48
mov edx, ebp
mov ecx, ebx
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
mov ecx, dword [esp + 0x7f4]
mov byte [ecx], al
mov ecx, edi
mov byte [ebp + 0x4d4], al
sub ecx, ebx
lea esp, [esp]
mov al, byte [ebx]
mov byte [ebx + ecx], al
inc ebx
test al, al
jne 0x504d20
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 0x504d38
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 0x504d50
jmp 0x5059c2
mov eax, dword [ebp + 0xc70]
test eax, eax
je case.0x50234f.48
cmp byte [ebx], 0x20
jne 0x504d7a
mov al, byte [ebx + 1]
inc ebx
cmp al, 0x20
je 0x504d72
cmp byte [ebx], 0
je case.0x50234f.48
mov edx, ebp
mov ecx, ebx
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
mov edx, dword [esp + 0x7f4]
mov ecx, edi
mov byte [edx], al
mov byte [ebp + 0x4d4], al
sub ecx, ebx
mov al, byte [ebx]
mov byte [ebx + ecx], al
inc ebx
test al, al
jne 0x504da7
mov ecx, dword [ebp + 0xc70]
mov eax, dword [ecx]
push eax
mov ecx, 2
call fcn.004ed300
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x504dd2
lea eax, [ebp + 0x744]
lea edx, [ebp + 0x7a8]
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x504df0
mov ecx, dword [esp + 0x7fc]
mov edx, dword [esp + 0x7f8]
pop esi
pop edi
pop ebp
mov dword [edx], ecx
pop ebx
add esp, 0x7e0
ret 0x10
mov eax, dword [ebp + 0xc70]
test eax, eax
je case.0x50234f.48
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x504e3e
mov ecx, ebp
call fcn.005020c0
test eax, eax
jne case.0x50234f.48
cmp byte [ebx], 0x20
jne 0x504e4b
mov al, byte [ebx + 1]
inc ebx
cmp al, 0x20
je 0x504e43
cmp byte [ebx], 0
je case.0x50234f.48
mov edx, ebp
mov ecx, ebx
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
mov edx, dword [esp + 0x7f4]
mov ecx, edi
mov byte [edx], al
mov byte [ebp + 0x4d4], al
sub ecx, ebx
mov al, byte [ebx]
mov byte [ecx + ebx], al
inc ebx
test al, al
jne 0x504e78
mov eax, dword [ebp + 0xc70]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x504e9b
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x504e91
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 0x504eb0
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 0x504ec8
jmp 0x5059c2
mov ecx, dword [ebp + 0xc84]
call fcn.00513210
test eax, eax
je case.0x50234f.48
mov edx, ebp
mov ecx, ebx
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
mov ecx, ebx
call fcn.00502240
mov esi, eax
test esi, esi
je case.0x50234f.48
mov al, byte [ebx]
cmp al, 0x24
jne 0x504f2d
cmp byte [ebx + 1], 0x28
jne 0x504f2d
mov ecx, dword [ebp + 0xc84]
push ebp
push ecx
lea edx, [esp + 0x28]
mov ecx, ebx
call fcn.00501b40
jmp 0x504f3e
cmp al, 0x25
jne 0x504f4a
push 0
lea edx, [esp + 0x24]
mov ecx, ebx
call fcn.00532d50
test eax, eax
je case.0x50234f.48
lea ebx, [esp + 0x20]
mov edx, dword [ebp + 0xc84]
push ebp
mov ecx, ebx
call fcn.00501c20
test eax, eax
je case.0x50234f.48
mov edx, ebp
mov ecx, esi
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
lea ecx, [ebp + 0x80c]
sub ecx, ebx
lea esp, [esp]
mov al, byte [ebx]
mov byte [ecx + ebx], al
inc ebx
test al, al
jne 0x504f80
mov edx, dword [esp + 0x7f4]
mov byte [edx], al
mov edx, edi
mov byte [ebp + 0x4d4], al
mov eax, esi
sub edx, esi
nop
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x504fa0
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x504fb8
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 0x504fd0
mov eax, dword [esp + 0x7fc]
mov ecx, dword [esp + 0x7f8]
pop esi
pop edi
pop ebp
mov dword [ecx], eax
pop ebx
add esp, 0x7e0
ret 0x10
mov ecx, ebx
call fcn.00502240
test eax, eax
mov dword [esp + 0x14], eax
je case.0x50234f.48
lea edi, [ebp + 0xc88]
lea edx, [esp + 0x408]
mov eax, edi
sub edx, edi
jmp 0x505020
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x505020
lea edx, [esp + 0x408]
push 0x20
push edx
call fcn.00563730
mov esi, eax
add esp, 8
test esi, esi
je 0x50505f
mov byte [esi], 0
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x505058
lea ecx, [ecx]
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x505050
cmp byte [esi], 0
jne 0x50505f
xor esi, esi
mov al, byte [ebx]
cmp al, 0x24
jne 0x50507a
cmp byte [ebx + 1], 0x28
jne 0x50507a
push ebp
push edi
lea edx, [esp + 0x28]
mov ecx, ebx
call fcn.00501b40
jmp 0x50508b
cmp al, 0x25
jne 0x505097
push 0
lea edx, [esp + 0x24]
mov ecx, ebx
call fcn.00532d50
test eax, eax
je case.0x50234f.48
lea ebx, [esp + 0x20]
push ebp
lea edx, [esp + 0x40c]
mov ecx, ebx
call fcn.00501c20
test eax, eax
je case.0x50234f.48
mov edi, dword [esp + 0x14]
mov edx, ebp
mov ecx, edi
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
lea ecx, [ebp + 0x80c]
sub ecx, ebx
jmp 0x5050d0
mov al, byte [ebx]
mov byte [ecx + ebx], al
inc ebx
test al, al
jne 0x5050d0
mov ebx, dword [esp + 0x7f4]
mov edx, dword [esp + 0x10]
mov byte [ebx], al
mov byte [ebp + 0x4d4], al
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x5050f1
test esi, esi
je 0x50510f
mov edx, ebx
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x505105
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x505120
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 0x505138
mov eax, dword [esp + 0x7fc]
mov ecx, dword [esp + 0x7f8]
pop esi
pop edi
pop ebp
mov dword [ecx], eax
pop ebx
add esp, 0x7e0
ret 0x10
mov eax, dword [ebp + 0xc70]
test eax, eax
je case.0x50234f.48
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x505186
mov ecx, ebp
call fcn.005020c0
test eax, eax
jne case.0x50234f.48
mov ecx, ebx
call fcn.00502240
mov esi, eax
test esi, esi
je case.0x50234f.48
mov al, byte [ebx]
cmp al, 0x24
jne 0x5051bd
cmp byte [ebx + 1], 0x28
jne 0x5051bd
mov edx, dword [ebp + 0xc70]
mov eax, dword [edx]
mov ecx, dword [eax + 0xc]
push ebp
push ecx
lea edx, [esp + 0x28]
mov ecx, ebx
call fcn.00501b40
jmp 0x5051ce
cmp al, 0x25
jne 0x5051da
push 0
lea edx, [esp + 0x24]
mov ecx, ebx
call fcn.00532d50
test eax, eax
je case.0x50234f.48
lea ebx, [esp + 0x20]
mov edx, dword [ebp + 0xc70]
mov eax, dword [edx]
mov edx, dword [eax + 0xc]
push ebp
mov ecx, ebx
call fcn.00501c20
test eax, eax
je case.0x50234f.48
mov edx, ebp
mov ecx, esi
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
lea ecx, [ebp + 0x80c]
sub ecx, ebx
mov edi, edi
mov al, byte [ebx]
mov byte [ecx + ebx], al
inc ebx
test al, al
jne 0x505210
mov ebx, dword [esp + 0x7f4]
mov byte [ebx], al
mov edx, edi
mov byte [ebp + 0x4d4], al
mov eax, esi
sub edx, esi
nop
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x505230
mov ecx, dword [ebp + 0xc70]
mov edx, dword [ecx]
mov ecx, dword [edx + 0xc]
test ecx, ecx
je 0x50525a
mov edx, ebx
jmp 0x505250
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x505250
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x505268
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 0x505280
mov eax, dword [esp + 0x7fc]
mov ecx, dword [esp + 0x7f8]
pop esi
pop edi
pop ebp
mov dword [ecx], eax
pop ebx
add esp, 0x7e0
ret 0x10
mov eax, dword [ebp + 0xc70]
test eax, eax
je case.0x50234f.48
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x5052ce
mov ecx, ebp
call fcn.005020c0
test eax, eax
jne case.0x50234f.48
mov eax, dword [ebp + 0x404]
test eax, eax
je 0x5052e7
mov ecx, ebp
call fcn.00502110
test eax, eax
je case.0x50234f.48
push 0x3a
push ebx
call fcn.00563730
mov esi, eax
add esp, 8
test esi, esi
je case.0x50234f.48
mov byte [esi], 0
mov al, byte [ebx]
cmp al, 0x24
jne 0x505325
cmp byte [ebx + 1], 0x28
jne 0x505325
mov edx, dword [ebp + 0xc70]
mov eax, dword [edx]
mov ecx, dword [eax + 0xc]
push ebp
push ecx
lea edx, [esp + 0x28]
mov ecx, ebx
call fcn.00501b40
jmp 0x505336
cmp al, 0x25
jne 0x505342
push 0
lea edx, [esp + 0x24]
mov ecx, ebx
call fcn.00532d50
test eax, eax
je case.0x50234f.48
lea ebx, [esp + 0x20]
mov edx, dword [ebp + 0xc70]
mov eax, dword [edx]
mov edx, dword [eax + 0xc]
push ebp
mov ecx, ebx
call fcn.00501c20
test eax, eax
je case.0x50234f.48
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x50536d
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x505365
cmp byte [esi], 0
je case.0x50234f.48
mov ecx, esi
call fcn.00502240
mov edi, eax
test edi, edi
je case.0x50234f.48
mov ecx, dword [ebp + 0xc70]
mov edx, dword [ecx]
mov edx, dword [edx + 8]
push ebp
mov ecx, esi
call fcn.00501c80
test eax, eax
je case.0x50234f.48
mov edx, ebp
mov ecx, edi
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
lea ecx, [ebp + 0x80c]
sub ecx, ebx
jmp 0x5053c0
mov al, byte [ebx]
mov byte [ecx + ebx], al
inc ebx
test al, al
jne 0x5053c0
mov ebx, dword [esp + 0x7f4]
mov edx, dword [esp + 0x10]
mov byte [ebx], al
lea esi, [ebp + 0x4d4]
mov byte [esi], al
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x5053e3
mov eax, dword [ebp + 0xc70]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0xc]
mov edx, ebx
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x505400
mov edx, dword [ebp + 0xc70]
mov eax, dword [edx]
mov edx, dword [ebp + 0x1c30]
mov ecx, dword [eax + 8]
call fcn.004f8240
test al, al
je 0x50543b
mov ecx, dword [ebp + 0xc70]
mov edx, dword [ecx]
mov ecx, dword [edx + 8]
mov edx, esi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x505431
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 0x505450
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 0x505468
mov eax, dword [esp + 0x7fc]
mov ecx, dword [esp + 0x7f8]
pop esi
pop edi
pop ebp
mov dword [ecx], eax
pop ebx
add esp, 0x7e0
ret 0x10
mov eax, dword [ebp + 0xc70]
test eax, eax
je case.0x50234f.48
mov eax, dword [ebp + 0x400]
test eax, eax
je 0x5054b6
mov ecx, ebp
call fcn.005020c0
test eax, eax
jne case.0x50234f.48
mov eax, dword [ebp + 0x404]
test eax, eax
je 0x5054cf
mov ecx, ebp
call fcn.00502110
test eax, eax
je case.0x50234f.48
mov ecx, ebx
call fcn.00502240
mov esi, eax
test esi, esi
je case.0x50234f.48
mov edx, dword [ebp + 0xc70]
mov eax, dword [edx]
mov edx, dword [eax + 8]
push ebp
call fcn.00501c80
test eax, eax
je case.0x50234f.48
mov edx, ebp
mov ecx, esi
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
mov edi, dword [esp + 0x7f4]
mov edx, dword [esp + 0x10]
mov byte [edi], al
lea ebx, [ebp + 0x4d4]
mov byte [ebx], al
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x505523
mov ecx, dword [ebp + 0xc70]
mov edx, dword [ecx]
mov ecx, dword [edx + 0xc]
test ecx, ecx
je 0x50554a
mov edx, edi
mov edi, edi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x505540
mov eax, dword [ebp + 0xc70]
mov ecx, dword [eax]
mov edx, dword [ebp + 0x1c30]
mov ecx, dword [ecx + 8]
call fcn.004f8240
test al, al
je 0x50557b
mov edx, dword [ebp + 0xc70]
mov eax, dword [edx]
mov ecx, dword [eax + 8]
mov edx, ebx
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x505571
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 0x505590
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 0x5055a8
mov ecx, dword [esp + 0x7fc]
mov edx, dword [esp + 0x7f8]
pop esi
pop edi
pop ebp
mov dword [edx], ecx
pop ebx
add esp, 0x7e0
ret 0x10
mov eax, dword [ebp + 0xc70]
test eax, eax
je case.0x50234f.48
cmp byte [ebx], 0x20
jne 0x5055ea
mov al, byte [ebx + 1]
inc ebx
cmp al, 0x20
je 0x5055e2
cmp byte [ebx], 0
je case.0x50234f.48
mov edx, ebp
mov ecx, ebx
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
mov edx, dword [esp + 0x7f4]
mov ecx, edi
mov byte [edx], al
mov byte [ebp + 0x4d4], al
sub ecx, ebx
mov al, byte [ebx]
mov byte [ecx + ebx], al
inc ebx
test al, al
jne 0x505617
mov eax, dword [ebp + 0xc70]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0xc]
test ecx, ecx
je 0x50563a
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x505630
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x505648
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 0x505660
jmp 0x5059c2
cmp byte [ebx], 0x20
jne 0x50567c
mov al, byte [ebx + 1]
inc ebx
cmp al, 0x20
je 0x505674
cmp byte [ebx], 0
je case.0x50234f.48
mov edx, ebp
mov ecx, ebx
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
mov ecx, dword [esp + 0x7f4]
mov byte [ecx], al
mov ecx, edi
mov byte [ebp + 0x4d4], al
sub ecx, ebx
lea esp, [esp]
mov al, byte [ebx]
mov byte [ecx + ebx], al
inc ebx
test al, al
jne 0x5056b0
lea eax, [ebp + 0x776]
lea edx, [ebp + 0x7da]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x5056c8
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 0x5056e0
jmp 0x5059c2
mov eax, dword [ebp + 0x1458]
test eax, eax
je case.0x50234f.48
mov ecx, ebx
call fcn.00502240
mov edi, eax
test edi, edi
je case.0x50234f.48
lea edx, [ebp + 0xc88]
push ebp
call fcn.00501c20
test eax, eax
je case.0x50234f.48
mov ecx, edi
call fcn.00502240
test eax, eax
mov dword [esp + 0x14], eax
je case.0x50234f.48
mov ecx, dword [ebp + 0x1458]
call fcn.005366c0
test eax, eax
je case.0x50234f.48
mov cl, byte [edi]
cmp cl, 0x23
lea esi, [eax + 8]
mov dword [esp + 0x18], esi
jne 0x50575f
cmp dword [eax + 0x700], 1
jmp 0x5057ce
cmp cl, 0x3f
jne 0x505785
mov edx, dword [eax + 0x700]
mov ecx, 2
cmp edx, ecx
jne case.0x50234f.48
cmp dword [eax + 0x704], ecx
jg case.0x50234f.48
jmp 0x5057d4
cmp cl, 0x3d
jne 0x5057a6
cmp dword [eax + 0x700], 2
jne case.0x50234f.48
cmp dword [eax + 0x704], 3
jne case.0x50234f.48
jmp 0x5057d8
cmp cl, 0x21
jne 0x5057c7
cmp dword [eax + 0x700], 2
jne case.0x50234f.48
cmp dword [eax + 0x704], 4
jne case.0x50234f.48
jmp 0x5057d8
cmp cl, 0x40
jne 0x5057d4
cmp byte [esi], cl
jne case.0x50234f.48
test esi, esi
jne 0x505801
mov al, byte [edi + 1]
test al, al
je 0x5057e0
inc edi
mov ecx, dword [esp + 0x18]
push 0x20
push ecx
call fcn.00563730
mov esi, eax
add esp, 8
test esi, esi
je 0x5057fd
inc esi
je 0x5057fd
cmp byte [esi], 0
jne 0x505801
mov esi, dword [esp + 0x18]
push ebp
mov edx, esi
mov ecx, edi
call fcn.00501c20
test eax, eax
jne 0x505821
push ebp
mov edx, esi
mov ecx, edi
call fcn.00501c80
test eax, eax
je case.0x50234f.48
mov edi, dword [esp + 0x14]
mov edx, ebp
mov ecx, edi
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
lea ecx, [ebp + 0x80c]
sub ecx, ebx
mov edi, edi
mov al, byte [ebx]
mov byte [ebx + ecx], al
inc ebx
test al, al
jne 0x505840
mov esi, dword [esp + 0x7f4]
mov edx, dword [esp + 0x10]
mov byte [esi], al
mov byte [ebp + 0x4d4], al
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x505861
lea eax, [ebp + 0xc88]
mov edx, esi
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x505875
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 0x505890
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 0x5058a8
jmp 0x5059c2
mov eax, dword [ebp + 0xc70]
test eax, eax
je case.0x50234f.48
mov ecx, ebx
call fcn.00502240
mov esi, eax
test esi, esi
je case.0x50234f.48
mov al, byte [ebx]
cmp al, 0x24
jne 0x5058fc
cmp byte [ebx + 1], 0x28
jne 0x5058fc
mov ecx, dword [ebp + 0xc70]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push ebp
push eax
lea edx, [esp + 0x28]
mov ecx, ebx
call fcn.00501b40
jmp 0x50590d
cmp al, 0x25
jne 0x505919
push 0
lea edx, [esp + 0x24]
mov ecx, ebx
call fcn.00532d50
test eax, eax
je case.0x50234f.48
lea ebx, [esp + 0x20]
mov ecx, dword [ebp + 0xc70]
mov edx, dword [ecx]
mov edx, dword [edx + 8]
push ebp
mov ecx, ebx
call fcn.00501c20
test eax, eax
je case.0x50234f.48
mov edx, ebp
mov ecx, esi
call fcn.005021d0
test eax, eax
jne case.0x50234f.48
lea ecx, [ebp + 0x80c]
sub ecx, ebx
lea ecx, [ecx]
mov al, byte [ebx]
mov byte [ebx + ecx], al
inc ebx
test al, al
jne 0x505950
mov ebx, dword [esp + 0x7f4]
mov byte [ebx], al
mov edx, edi
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 0x505970
mov eax, dword [ebp + 0xc70]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov edx, ebx
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x505987
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 0x5059a0
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 0x5059b8
mov edx, dword [esp + 0x7fc]
mov eax, dword [esp + 0x7f8]
mov dword [eax], edx
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x7e0
ret 0x10