Function at 0x505da0
Capabilities:
Parse credit card information

Disassembly:
sub esp, 0xce8
push ebx
push ebp
push esi
mov ebx, ecx
push edi
mov esi, edx
xor edi, edi
mov edx, 0x3e7
lea ecx, [esp + 0x3c]
mov dword [esp + 0x14], ebx
mov dword [ebx + 0x1c2c], edi
call fcn.0041e210
mov edx, 0x3e7
lea ecx, [esp + 0x424]
call fcn.0041e210
mov edx, 0x3e7
lea ecx, [esp + 0x80c]
call fcn.0041e210
mov ecx, ebx
sub ecx, esi
mov eax, esi
lea edx, [ecx + 8]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x505df3
mov edx, dword [esp + 0xcfc]
mov dword [ebx + 0x3f0], edx
lea eax, [ebx + 0x640]
lea esi, [ebx + 0x744]
lea edx, [ebx + 0xbf3]
mov dword [esp + 0x2c], edi
lea edi, [ebx + 0x40c]
mov byte [eax], cl
mov byte [esi], cl
mov byte [ebx + 0x776], cl
mov byte [edx], cl
cmp byte [edi], 0
je 0x505ef6
cmp byte [ebx + 0x470], 0
push ebx
lea ecx, [ebx + 0x470]
push edx
push eax
je 0x505ed7
xor edx, edx
call fcn.00501a10
push eax
push 0x5748f8
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
mov ebp, dword [ebx + 0x5d8]
add esp, 0xc
mov edx, 0x104
lea ecx, [esp + 0xbf4]
call fcn.0041e210
xor ecx, ecx
call fcn.00509580
test eax, eax
je 0x505ec0
mov esi, dword [eax + 0x168]
test esi, esi
je 0x505ec0
mov eax, dword [esi + 0x28]
test eax, eax
jne 0x505eb6
mov ecx, dword [esi]
lea eax, [esp + 0xbf4]
push eax
push ebx
push 0
push 0
push ebp
mov edx, edi
call fcn.00501720
test eax, eax
jne 0x505ec0
mov esi, dword [esi + 0x40]
test esi, esi
jne 0x505e94
lea ecx, [ecx]
mov eax, dword [0x589b98]
test eax, eax
mov dword [esp + 0x2c], eax
jge 0x505f1d
mov dword [esp + 0x2c], 0
jmp 0x505f1d
mov edx, dword [ebx + 0x5d8]
mov ecx, edi
call fcn.00501a10
push eax
push 0x5748f8
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x505f1d
mov ecx, dword [0x589b98]
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
push ecx
push 0x5748f8
push eax
call edi
mov edx, dword [0x589b98]
push edx
push 0x5748f8
push esi
call edi
add esp, 0x18
mov eax, dword [0x59d1a8]
mov ecx, dword [esp + 0xd00]
xor esi, esi
cmp eax, esi
je 0x505f45
nop
cmp ecx, 1
jne 0x505f3b
mov dword [eax + 0x150], esi
mov eax, dword [eax + 0x170]
cmp eax, esi
jne 0x505f30
mov ecx, dword [ebx + 0x3f8]
cmp ecx, esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], esi
je 0x505f78
call fcn.005095f0
test eax, eax
je 0x505f78
mov eax, dword [ebx + 0x3f8]
mov dword [esp + 0x24], 1
mov dword [esp + 0x28], eax
mov dword [ebx + 0x3f8], esi
mov ebp, dword [esp + 0xcfc]
nop
mov edi, dword [ebp*4 + 0x59d070]
test edi, edi
mov dword [0x59cc84], 0
mov dword [esp + 0x10], edi
je 0x506059
cmp dword [esp + 0x24], 1
jne 0x505fc4
mov eax, dword [esp + 0x28]
cmp dword [edi + 0x2c], eax
je 0x505fc0
mov edi, dword [edi + 0x34]
test edi, edi
jne 0x505fa8
mov dword [esp + 0x10], edi
jmp 0x506060
mov edi, dword [edi + 0x34]
mov dword [esp + 0x10], edi
test edi, edi
je 0x506059
lea esp, [esp]
mov ecx, dword [edi + 0x2c]
call fcn.005095f0
test eax, eax
je 0x506059
mov eax, dword [ebx + 0x1c2c]
test eax, eax
je 0x506000
mov ecx, dword [edi + 0x2c]
lea esp, [esp]
cmp dword [eax + 0x2c], ecx
je 0x506093
mov eax, dword [eax + 0x40]
test eax, eax
jne 0x505ff0
mov eax, dword [edi + 0x10]
test eax, eax
jne 0x5060a4
mov ecx, dword [edi + 0x2c]
call fcn.005095f0
test eax, eax
je 0x506055
mov ecx, dword [ebx + 0x1c2c]
mov esi, dword [edi + 0x2c]
mov eax, ecx
test eax, eax
je 0x506032
cmp dword [eax + 0x2c], esi
je 0x50604e
mov eax, dword [eax + 0x40]
test eax, eax
jne 0x506026
push 0
mov edx, 0x574b10
call fcn.004c2560
test eax, eax
je 0x506055
mov dword [ebx + 0x1c2c], eax
mov ecx, dword [eax + 0x44]
mov dword [ecx + 0x2c], esi
mov edi, dword [edi + 0x40]
test edi, edi
jne 0x506000
mov dword [esp + 0x10], edi
cmp dword [esp + 0x24], 1
jne 0x50607b
mov edi, dword [ebp*4 + 0x59d070]
test edi, edi
mov dword [esp + 0x24], 2
mov dword [esp + 0x10], edi
jne 0x505fd0
lea ecx, [ebx + 0x1c2c]
call fcn.004c29d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xce8
ret 8
mov edi, dword [edi + 0x34]
test edi, edi
mov dword [esp + 0x10], edi
jne 0x505fd0
jmp 0x506059
cmp ebp, 0x41
mov dword [esp + 0x10], edi
jne 0x5060c9
mov eax, dword [edi + 0x2c]
cmp dword [eax + 0x158], 1
jne 0x505fbd
mov dword [eax + 0x158], 2
jmp 0x5060e8
cmp ebp, 0x24
jne 0x5060e8
mov eax, dword [edi + 0x2c]
cmp dword [eax + 0x154], 1
jne 0x505fbd
mov dword [eax + 0x154], 2
lea ecx, [ebx + 0x145c]
mov edx, 0x3e7
mov dword [esp + 0x34], 0
call fcn.0041e210
lea ecx, [ebx + 0x1843]
mov edx, 0x3e7
call fcn.0041e210
lea ecx, [ebx + 0x4d4]
mov edx, 0x104
call fcn.0041e210
lea ecx, [ebx + 0x80c]
mov edx, 0x3e7
call fcn.0041e210
mov byte [ebx + 0x7a8], 0
mov byte [ebx + 0x7da], 0
mov dword [esp + 0x18], 0
mov dword [ebx + 0x3f4], 0xffffffff
mov dword [ebx + 0x3fc], 1
lea ebx, [ebx]
test edi, edi
je 0x506059
mov eax, dword [esp + 0x24]
cmp eax, 1
jne 0x506180
mov edx, dword [esp + 0x28]
cmp dword [edi + 0x2c], edx
jne 0x506060
jmp 0x506192
cmp eax, 2
jne 0x506192
mov eax, dword [esp + 0x28]
cmp dword [edi + 0x2c], eax
je 0x505fbd
mov ecx, dword [edi + 0x2c]
mov dword [ebx + 0x3f8], ecx
mov ecx, dword [ebx + 0x1c2c]
mov esi, dword [edi + 0x2c]
mov eax, ecx
xor edx, edx
cmp eax, edx
je 0x5061bc
lea esp, [esp]
cmp dword [eax + 0x2c], esi
je 0x5061de
mov eax, dword [eax + 0x40]
cmp eax, edx
jne 0x5061b0
push 0
mov edx, 0x574b10
call fcn.004c2560
test eax, eax
je 0x506059
mov dword [ebx + 0x1c2c], eax
mov edx, dword [eax + 0x44]
mov dword [edx + 0x2c], esi
xor edx, edx
cmp ebp, 0x47
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + 0x40]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x30], edx
mov dword [ebx + 0x400], edx
mov dword [ebx + 0x404], edx
mov dword [ebx + 0x408], edx
jne 0x5062e4
mov eax, dword [ebx + 0x3f8]
cmp dword [eax + 0x14c], 1
jne 0x506ade
mov dword [eax + 0x14c], 2
mov eax, dword [edi + 0x30]
mov ecx, dword [esp + 0xd00]
cmp dword [eax + 8], ecx
jne 0x506ade
mov ecx, dword [eax]
lea edx, [esp + 0x424]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x506240
cmp byte [esp + 0x424], 0x20
lea esi, [esp + 0x424]
jne 0x506268
jmp 0x506260
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x506260
cmp byte [esi], 0
je 0x506ade
add esi, 3
cmp byte [esi], 0x20
jne 0x506288
lea esp, [esp]
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x506280
mov al, byte [esi]
test al, al
je 0x506ade
cmp al, 0x6d
je 0x50629e
cmp al, 0x4d
jne 0x506571
push 3
push 0x57b1ec
push esi
call fcn.00572b89
add esp, 0xc
test eax, eax
jne 0x506571
mov ecx, dword [ebx + 0x1c30]
call fcn.004dbea0
test eax, eax
je 0x506539
mov eax, dword [ebx + 0x1c30]
mov edx, dword [eax + 0xf28]
imul edx, edx, 0x64
lea eax, [edx + eax + 0xdfc]
jmp 0x50653e
cmp ebp, 0x1d
jne 0x50630e
cmp dword [esp + 0xd00], edx
jne 0x506224
mov edx, dword [ebx + 0x3f8]
cmp dword [edx + 0x150], 2
je 0x506ade
jmp 0x506224
cmp ebp, 2
jne 0x5064e8
mov esi, dword [edi + 0x30]
cmp dword [esi + 0x20], edx
je 0x506336
lea eax, [ebx + 8]
push eax
call fcn.00563a6c
mov ecx, dword [esi + 0x20]
add esp, 4
cmp ecx, eax
jne 0x506ade
mov ecx, dword [esi]
lea edx, [esp + 0x424]
nop
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x506340
cmp byte [esp + 0x424], 0x20
lea esi, [esp + 0x424]
jne 0x506368
jmp 0x506360
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x506360
cmp byte [esi], 0
je 0x506ade
mov al, byte [esi + 4]
add esi, 4
cmp al, 0x20
jne 0x506388
jmp 0x506380
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x506380
cmp byte [esi], 0
je 0x506ade
mov ecx, esi
call fcn.00502240
mov ebp, eax
test ebp, ebp
jne 0x5063a3
mov ebp, str._return
cmp byte [esi], 0x20
jne 0x5063b0
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x5063a8
cmp byte [esi], 0x26
jne 0x5063bf
cmp dword [ebx], 0
jne 0x506ade
inc esi
mov al, byte [esi]
test al, al
je 0x506ade
cmp al, 0x24
jne 0x5063e6
cmp byte [esi + 1], 0x28
jne 0x5063e6
push ebx
push 0
lea edx, [esp + 0x814]
mov ecx, esi
call fcn.00501b40
jmp 0x5063fa
cmp al, 0x25
jne 0x506409
push 0
lea edx, [esp + 0x810]
mov ecx, esi
call fcn.00532d50
test eax, eax
je 0x506ade
lea esi, [esp + 0x80c]
push 0x24
push esi
call fcn.00563730
add esp, 8
test eax, eax
je 0x50642e
mov edx, 0x578564
mov ecx, esi
mov dword [ebx + 0x408], 1
call fcn.00518fc0
mov al, byte [esi]
cmp al, 0x2a
jne 0x50643b
mov cl, byte [esi + 1]
test cl, cl
je 0x506463
movzx ecx, al
push ecx
call fcn.00564077
add esp, 4
test eax, eax
je 0x50647c
lea edx, [ebx + 8]
push edx
call fcn.00563a6c
push esi
mov edi, eax
call fcn.00563a6c
add esp, 8
cmp eax, edi
jne 0x50647c
lea edx, [esp + 0x3c]
mov eax, ebp
sub edx, ebp
jmp 0x506470
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x506470
jmp 0x5064ba
movzx edx, byte [ebx + 8]
lea edi, [ebx + 8]
push edx
call fcn.00564077
add esp, 4
test eax, eax
jne 0x506ade
push edi
push esi
call fcn.00572b46
add esp, 8
test eax, eax
jne 0x506ade
lea edx, [esp + 0x3c]
mov eax, ebp
sub edx, ebp
mov edi, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x5064b0
mov eax, dword [esp + 0x20]
push ebx
push eax
lea ecx, [esp + 0x20]
push ecx
lea eax, [ebx + 0x1843]
push eax
lea edx, [ebx + 0x145c]
lea ecx, [esp + 0x4c]
call fcn.00502300
mov al, byte [ebx + 0x7da]
test al, al
jmp 0x506ad8
cmp ebp, 1
jne 0x506224
mov edx, dword [edi + 0x30]
mov ecx, dword [edx]
lea edx, [esp + 0x424]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x506500
cmp byte [esp + 0x424], 0x20
lea esi, [esp + 0x424]
jne 0x506528
jmp 0x506520
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x506520
cmp byte [esi], 0
je 0x506ade
add esi, 5
jmp 0x506274
mov eax, 0x574b10
push eax
lea eax, [ebx + 0x40c]
push eax
call fcn.00572b46
add esp, 8
test eax, eax
jne 0x506ade
mov al, byte [esi + 3]
add esi, 3
cmp al, 0x20
jne 0x506568
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x506560
cmp byte [esi], 0
je 0x506ade
push 0x3a
push esi
call fcn.00563730
add esp, 8
test eax, eax
je 0x506ade
mov byte [eax], 0
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
mov dword [esp + 0x1c], eax
jne 0x5065a1
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x506594
mov dword [esp + 0x1c], eax
cmp byte [eax], 0
je 0x506ade
mov ebp, dword [esp + 0x2c]
test ebp, ebp
je 0x506677
mov al, byte [ebx + 0x744]
test al, al
lea edi, [ebx + 0x744]
je 0x506677
movzx ecx, al
push ecx
call fcn.00564077
add esp, 4
test eax, eax
je 0x506677
push edi
call fcn.00563a6c
push 0x3e
push esi
mov edi, eax
call fcn.00563730
add esp, 0xc
test eax, eax
je 0x506631
push 0x3d
push esi
call fcn.00563730
add esp, 8
test eax, eax
je 0x50660e
cmp edi, ebp
jg 0x506ade
jmp 0x506677
push 0x3c
push esi
call fcn.00563730
add esp, 8
test eax, eax
je 0x506627
cmp edi, ebp
je 0x506ade
jmp 0x506677
cmp edi, ebp
jge 0x506ade
jmp 0x506677
push 0x3c
push esi
call fcn.00563730
add esp, 8
test eax, eax
push 0x3d
push esi
je 0x506663
call fcn.00563730
add esp, 8
test eax, eax
je 0x506659
cmp edi, ebp
jl 0x506ade
jmp 0x506677
cmp edi, ebp
jle 0x506ade
jmp 0x506677
call fcn.00563730
add esp, 8
test eax, eax
je 0x506677
cmp edi, ebp
jne 0x506ade
push 0x26
push esi
call fcn.00563730
add esp, 8
test eax, eax
je 0x50668f
cmp dword [ebx], 0
jne 0x506ade
push 0x2b
push esi
call fcn.00563730
add esp, 8
test eax, eax
mov edi, 1
je 0x5066a7
mov dword [esp + 0x30], edi
push 0x21
push esi
call fcn.00563730
add esp, 8
test eax, eax
je 0x5066bc
mov dword [ebx + 0x400], edi
push 0x40
push esi
call fcn.00563730
add esp, 8
test eax, eax
je 0x5066d1
mov dword [ebx + 0x404], edi
push 0x24
push esi
call fcn.00563730
add esp, 8
test eax, eax
je 0x5066e6
mov dword [ebx + 0x408], edi
cmp byte [esi], 0
mov byte [ebx + 0x776], 0
mov ecx, esi
je 0x506772
cmp ecx, dword [esp + 0x1c]
jae 0x506772
mov al, byte [ecx]
cmp al, 0x24
je 0x50671c
cmp al, 0x26
je 0x50671c
cmp al, 0x2b
je 0x50671c
cmp al, 0x40
je 0x50671c
cmp al, 0x21
je 0x50671c
cmp al, 0x2a
je 0x50671c
cmp al, 0x5e
je 0x50671c
cmp al, 0x20
jne 0x506726
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x5066f4
jmp 0x506772
mov eax, ecx
lea edi, [eax + 1]
jmp 0x506730
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x506730
sub eax, edi
cmp eax, 0x23
jbe 0x506741
mov byte [ecx + 0x23], dl
lea edx, [ebx + 0x776]
mov eax, ecx
sub edx, ecx
jmp 0x506750
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x506750
lea eax, [ebx + 0x776]
push 0x21
push eax
call fcn.00563730
add esp, 8
test eax, eax
je 0x506772
mov byte [eax], 0
mov al, byte [ebx + 0x7da]
test al, al
jne 0x50679b
push 0x2a
push esi
call fcn.00563730
add esp, 8
test eax, eax
je 0x50679b
add ebx, 0x776
mov word [ebx], 0x2a
jmp 0x5068eb
mov al, byte [ebx + 0x776]
test al, al
je 0x506ade
lea esi, [ebx + 0x640]
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5067b4
sub eax, edx
add eax, esi
mov dword [esp + 0x38], eax
xor ebx, ebx
cmp byte [esi], 0x20
jne 0x5067d8
lea ebx, [ebx]
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x5067d0
mov al, byte [esi]
test al, al
je 0x506ade
cmp al, 0x3d
jne 0x5067ed
mov ebx, 1
jmp 0x5067f9
cmp al, 0x2b
jne 0x506806
mov dword [esp + 0x30], 1
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x5067e2
jmp 0x506ade
cmp byte [esi], 0
je 0x506ade
push 0x2c
push esi
call fcn.00563730
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x506824
mov byte [ebp], 0
mov edi, dword [esp + 0x14]
add edi, 0x744
mov edx, edi
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x506834
mov eax, dword [esp + 0x14]
movzx edx, byte [eax + 0x776]
add eax, 0x776
push edx
call fcn.00564077
add esp, 4
test eax, eax
je 0x506950
movzx eax, byte [edi]
push eax
call fcn.00564077
add esp, 4
test eax, eax
je 0x50697b
push edi
call fcn.00563a6c
mov edi, eax
mov eax, dword [esp + 0x18]
add eax, 0x776
push eax
call fcn.00563a6c
mov esi, eax
mov eax, dword [esp + 0x1c]
mov cl, byte [eax + 0x7da]
add eax, 0x7da
add esp, 8
test cl, cl
je 0x5068b6
mov eax, dword [esp + 0x14]
add eax, 0x7da
push eax
call fcn.00563a6c
add esp, 4
jmp 0x5068b8
xor eax, eax
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x5068c8
cmp edi, esi
jne 0x50697b
cmp esi, eax
jle 0x50697b
test ebx, ebx
je 0x5068db
cmp edi, esi
jmp 0x506975
cmp edi, esi
jl 0x50697b
test ebp, ebp
je 0x5068eb
mov byte [ebp], 0x2c
mov esi, dword [esp + 0x1c]
mov ecx, esi
call fcn.00502240
mov ebp, eax
test ebp, ebp
jne 0x506901
mov ebp, str._return
cmp dword [esp + 0xcfc], 1
jne 0x506c6f
mov al, byte [esi]
cmp al, 0x24
jne 0x5069a7
cmp byte [esi + 1], 0x28
jne 0x5069a7
mov ebx, dword [esp + 0x14]
push ebx
push 0
lea edx, [esp + 0x814]
mov ecx, esi
call fcn.00501b40
test eax, eax
je 0x506ade
lea esi, [esp + 0x80c]
mov dword [esp + 0x1c], esi
jmp 0x5069d2
movzx ecx, byte [edi]
push ecx
call fcn.00564077
add esp, 4
test eax, eax
jne 0x50697b
mov eax, dword [esp + 0x14]
add eax, 0x776
push esi
push eax
call fcn.00572b46
add esp, 8
test eax, eax
je 0x5068e3
test ebp, ebp
je 0x506ade
lea esi, [ebp + 1]
mov byte [ebp], 0x2c
cmp byte [esi], 0
je 0x506ade
cmp esi, dword [esp + 0x38]
jae 0x506ade
mov ebx, 1
jmp 0x5067c5
cmp al, 0x25
jne 0x5069ce
push 0
lea edx, [esp + 0x810]
mov ecx, esi
call fcn.00532d50
test eax, eax
je 0x506ade
lea esi, [esp + 0x80c]
mov dword [esp + 0x1c], esi
mov ebx, dword [esp + 0x14]
cmp byte [esi], 0x2a
jne 0x506a28
mov al, byte [esi + 1]
test al, al
jne 0x506a28
lea edx, [esp + 0x3c]
mov eax, ebp
sub edx, ebp
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x5069e6
mov edx, dword [esp + 0x20]
push ebx
push edx
lea eax, [esp + 0x20]
push eax
lea eax, [ebx + 0x1843]
push eax
lea edx, [ebx + 0x145c]
lea ecx, [esp + 0x4c]
call fcn.00502300
mov al, byte [ebx + 0x7da]
test al, al
je 0x506ade
movzx ecx, al
push ecx
jmp 0x506cdf
push 0x2a
push esi
call fcn.00563730
add esp, 8
test eax, eax
jne 0x506a4a
push 0x3f
push esi
call fcn.00563730
add esp, 8
test eax, eax
je 0x506b9d
push ebx
lea edx, [ebx + 8]
mov ecx, esi
call fcn.00501c20
test eax, eax
je 0x506b9d
lea edx, [esp + 0x3c]
mov eax, ebp
sub edx, ebp
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x506a65
mov esi, dword [esp + 0x20]
push ebx
push esi
lea edx, [esp + 0x20]
push edx
lea eax, [ebx + 0x1843]
push eax
lea edx, [ebx + 0x145c]
lea ecx, [esp + 0x4c]
call fcn.00502300
mov al, byte [ebx + 0x7da]
test al, al
je 0x506ab2
movzx eax, al
push eax
call fcn.00564077
add esp, 4
test eax, eax
jne 0x506ab2
mov dword [esp + 0x34], 1
cmp dword [esp + 0x18], esi
jne 0x506ad2
lea edx, [ebx + 0x80c]
lea ecx, [esp + 0x3c]
lea eax, [esp + 0x3c]
sub edx, ecx
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x506ac8
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x506cef
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x40]
test eax, eax
mov ebx, dword [esp + 0x14]
je 0x506d4e
mov ecx, dword [eax + 0x2c]
cmp ecx, dword [ebx + 0x3f8]
je 0x506b0a
mov cl, byte [ebx + 0x7da]
test cl, cl
jne 0x506cf3
mov ecx, dword [ebx + 0x3fc]
test ecx, ecx
je 0x506d7c
mov edi, eax
test edi, edi
mov dword [esp + 0x10], edi
je 0x506b91
mov eax, dword [edi + 0x10]
test eax, eax
jne 0x506d42
mov eax, dword [edi + 0x40]
test eax, eax
je 0x506d96
mov esi, dword [edi + 0x2c]
cmp dword [eax + 0x2c], esi
je 0x506b86
mov ecx, dword [ebx + 0x1c2c]
mov eax, ecx
test eax, eax
je 0x506b5c
lea esp, [esp]
cmp dword [eax + 0x2c], esi
je 0x506b78
mov eax, dword [eax + 0x40]
test eax, eax
jne 0x506b50
push 0
mov edx, 0x574b10
call fcn.004c2560
test eax, eax
je 0x506b91
mov dword [ebx + 0x1c2c], eax
mov edx, dword [eax + 0x44]
mov dword [edx + 0x2c], esi
mov al, byte [ebx + 0x7da]
test al, al
jne 0x506cf3
mov edi, dword [edi + 0x40]
test edi, edi
mov dword [esp + 0x10], edi
jne 0x506b22
mov ebp, dword [esp + 0xcfc]
jmp 0x506059
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x506ba2
sub eax, edx
lea esi, [ebx + 8]
mov edi, eax
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x506bb5
sub eax, edx
cmp eax, edi
jb 0x506ade
mov edx, dword [esp + 0x1c]
push edi
push esi
push edx
call fcn.00572b89
add esp, 0xc
test eax, eax
jne 0x506ade
mov al, byte [esi + edi]
test al, al
je 0x506bec
cmp al, 0x20
jne 0x506ade
lea edx, [esp + 0x3c]
mov eax, ebp
sub edx, ebp
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x506bf4
mov esi, dword [esp + 0x20]
push ebx
push esi
lea eax, [esp + 0x20]
push eax
lea eax, [ebx + 0x1843]
push eax
lea edx, [ebx + 0x145c]
lea ecx, [esp + 0x4c]
call fcn.00502300
mov al, byte [ebx + 0x7da]
test al, al
je 0x506c41
movzx ecx, al
push ecx
call fcn.00564077
add esp, 4
test eax, eax
jne 0x506c41
mov dword [esp + 0x34], 1
cmp dword [esp + 0x18], esi
jne 0x506ad2
lea edx, [ebx + 0x80c]
lea ecx, [esp + 0x3c]
lea eax, [esp + 0x3c]
sub edx, ecx
jmp 0x506c60
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x506c60
jmp 0x506ad2
cmp byte [esi], 0x2a
jne 0x506c7b
mov al, byte [esi + 1]
test al, al
je 0x506c96
mov ebx, dword [esp + 0x14]
lea edx, [ebx + 8]
push edx
push esi
call fcn.00572b46
add esp, 8
test eax, eax
jne 0x506ade
jmp 0x506c9a
mov ebx, dword [esp + 0x14]
lea edx, [esp + 0x3c]
mov eax, ebp
sub edx, ebp
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x506ca2
mov eax, dword [esp + 0x20]
push ebx
push eax
lea ecx, [esp + 0x20]
push ecx
lea eax, [ebx + 0x1843]
push eax
lea edx, [ebx + 0x145c]
lea ecx, [esp + 0x4c]
call fcn.00502300
mov al, byte [ebx + 0x7da]
test al, al
je 0x506ade
movzx edx, al
push edx
call fcn.00564077
add esp, 4
test eax, eax
jne 0x506ade
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0xcfc]
mov edx, dword [esp + 0xd00]
push edx
mov edx, dword [esp + 0x1c]
push ebx
mov ecx, ebp
call fcn.00505af0
mov eax, dword [0x59cc84]
test eax, eax
jne 0x505f80
mov ecx, dword [ebx + 0x3f8]
call fcn.005095f0
test eax, eax
je 0x505f80
mov ecx, edi
call fcn.00509360
test eax, eax
je 0x505f80
jmp 0x505fbd
mov ebp, dword [esp + 0xcfc]
jmp 0x506160
mov al, byte [ebx + 0x7da]
test al, al
mov ebp, dword [esp + 0xcfc]
je 0x506059
mov eax, dword [esp + 0xd00]
mov edx, dword [esp + 0x18]
push eax
push ebx
mov ecx, ebp
call fcn.00505af0
jmp 0x506059
mov al, byte [ebx + 0x7da]
test al, al
mov ebp, dword [esp + 0xcfc]
jne 0x506cfa
jmp 0x505fbd
mov al, byte [ebx + 0x7da]
test al, al
je 0x506b91
mov ecx, dword [esp + 0xd00]
mov ebp, dword [esp + 0xcfc]
mov edx, dword [esp + 0x18]
push ecx
push ebx
mov ecx, ebp
call fcn.00505af0
jmp 0x506059