Function at 0x42fc70
Capabilities:
Encode data using base64
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x3044
call fcn.0049ffc0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
push ebx
xor eax, eax
push esi
push edi
mov dword [ebp - 4], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x28], ecx
test ecx, ecx
je 0x42fcb1
cmp dword [ecx], 0
je 0x42fcb1
mov edx, dword [ebp - 0xc]
mov esi, ecx
mov dword [ebp - 0x20], esi
cmp edx, dword [ecx]
jb 0x42fcc2
jmp 0x430be7
mov ecx, dword [ebp - 0xc]
xor esi, esi
cmp byte [ecx], 0
mov dword [ebp - 0x20], esi
je 0x431141
cmp eax, 0x1ff
jg 0x431c14
mov ecx, dword [ebp - 0xc]
mov dl, byte [ecx]
cmp dl, 0x20
je 0x42fcdc
cmp dl, 9
jne 0x42fcdf
inc ecx
jmp 0x42fcd0
cmp byte [ecx], 0
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], ecx
je 0x430bdf
test esi, esi
je 0x42fcfa
cmp ecx, dword [esi]
jae 0x430bdf
shl eax, 4
lea esi, [ebp + eax - 0x2840]
mov dword [esi], 0
mov dl, byte [ecx]
movsx ebx, byte [ecx + 1]
mov byte [ebp - 0x19], dl
movsx edx, dl
lea edi, [ecx + 1]
add edx, 0xffffffdf
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x24], edi
cmp edx, 0x5d
ja case.0x42fd32.35
movzx edx, byte [edx + 0x431c94]
jmp dword [edx*4 + 0x431c38]
cmp ebx, 0x3d
jne 0x42fd57
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x14
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
cmp dword [ebp - 4], 0
je 0x42fda1
cmp dword [ebp + eax - 0x2848], 0xf
jge 0x42fda1
cmp ebx, 0x2b
jne 0x42fd85
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 9
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
mov edi, dword [ebp - 0xc]
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x34
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
cmp ebx, 0x2b
jne 0x42fdbf
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x3f
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
mov edi, dword [ebp - 0xc]
dec dword [ebp - 4]
mov esi, dword [ebp - 0x20]
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
cmp ebx, 0x3d
jne 0x42fdf5
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x15
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
cmp dword [ebp - 4], 0
je 0x42fe3f
cmp dword [ebp + eax - 0x2848], 0xf
jge 0x42fe3f
cmp ebx, 0x2d
jne 0x42fe23
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0xa
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
mov edi, dword [ebp - 0xc]
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x35
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
cmp ebx, 0x2d
jne 0x42fe5d
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x40
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
mov dword [esi + 8], 0x39
cmp ebx, 0x30
jl 0x42fe6e
cmp ebx, 0x39
jle 0x42fe77
cmp ebx, 0x2e
jne 0x4309ab
mov ebx, dword [ebp - 0x10]
movsx eax, byte [ebx + 2]
add ebx, 2
push eax
push 0x4ac274
mov dword [ebp - 8], ebx
call fcn.004945a1
add esp, 8
test eax, eax
jne 0x42feb0
movsx eax, byte [ebx + 1]
inc ebx
push eax
push 0x4ac274
call fcn.004945a1
add esp, 8
test eax, eax
je 0x42fe96
mov dword [ebp - 8], ebx
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x42fec2
cmp ebx, dword [eax]
jae 0x4309ab
mov ebx, dword [ebp - 8]
mov ecx, ebx
mov al, byte [ecx]
cmp al, 0x20
je 0x42fece
cmp al, 9
jne 0x42fed1
inc ecx
jmp 0x42fec4
cmp byte [ecx], 0x2a
jne 0x42fee3
cmp byte [ecx + 1], 0x2a
je 0x4309ab
mov ebx, dword [ebp - 8]
mov bl, byte [ebx]
cmp bl, 0x2d
je 0x42fef3
cmp bl, 0x2b
jne 0x42ff8f
mov eax, dword [ebp - 8]
movzx ebx, byte [eax - 1]
test ebx, 0xffffff80
jne 0x42ff14
push 2
push ebx
call fcn.00493e17
add esp, 8
test eax, eax
je 0x42ff14
and ebx, 0xffffffdf
cmp bl, 0x45
jne 0x42ff8f
mov ecx, dword [ebp - 0x10]
cmp byte [ecx], 0x30
jne 0x42ff47
movzx ebx, byte [edi]
test ebx, 0xffffff80
jne 0x42ff42
push 2
push ebx
call fcn.00493e17
add esp, 8
test eax, eax
je 0x42ff42
and ebx, 0xffffffdf
cmp bl, 0x58
je 0x42ff8f
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0x2d
mov ecx, dword [ebp - 8]
jne 0x42ff80
cmp byte [edi], 0x30
jne 0x42ff80
movzx edi, byte [eax + 2]
test edi, 0xffffff80
jne 0x42ff75
push 2
push edi
call fcn.00493e17
add esp, 8
test eax, eax
je 0x42ff75
and edi, 0xffffffdf
mov eax, edi
cmp al, 0x58
je 0x42ff8f
mov ecx, dword [ebp - 8]
mov edi, edi
mov al, byte [ecx + 1]
inc ecx
cmp al, 0x30
jl 0x42ff8c
cmp al, 0x39
jle 0x42ff80
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
test eax, eax
je 0x42ffb9
mov edx, dword [ebp - 0x18]
cmp dword [ebp + edx - 0x2848], 0xf
jge 0x42ffb9
cmp eax, 0x1fe
jg 0x431c14
inc eax
mov dword [esi + 8], 0x2d
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x10]
shl eax, 4
mov dword [ebp + eax - 0x2838], 5
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 8]
sub eax, ecx
cmp byte [ecx], 0
mov ebx, eax
je 0x430bb4
cmp eax, 0xffffffff
jne 0x42fff2
mov eax, ecx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42ffe7
sub eax, edx
mov ebx, eax
lea esi, [ebx + 1]
lea eax, [esi - 1]
cmp eax, 0x7fff
ja 0x430059
cmp dword [0x4bc38c], 0
jne 0x430016
call fcn.0047c7a0
mov dword [0x4bc38c], eax
test eax, eax
je 0x430059
mov ecx, dword [0x4bc390]
cmp esi, dword [ecx + 8]
jbe 0x430033
call fcn.0047c7a0
mov ecx, dword [0x4bc390]
mov dword [ecx + 0xc], eax
test eax, eax
je 0x430059
mov edi, dword [ecx + 4]
mov eax, esi
and eax, 3
mov dword [0x4bc394], edi
je 0x430048
sub esi, eax
add esi, 4
sub dword [ecx + 8], esi
lea edx, [esi + edi]
mov dword [ecx + 4], edx
test edi, edi
jne 0x430b9c
mov eax, dword [ebp - 0x10]
push eax
push 0x4aa228
mov ecx, 0x4bc460
call fcn.0043b780
xor edi, edi
jmp 0x430bb9
mov edi, dword [ebp - 0xc]
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x12
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
cmp ebx, 0x3d
jne 0x4300ad
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x17
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
cmp ebx, 0x2f
jne 0x4300ed
cmp byte [ecx + 2], 0x3d
jne 0x4300d4
lea edi, [ecx + 2]
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x18
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x38
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
mov edi, dword [ebp - 0xc]
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x37
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
cmp ebx, 0x3d
jne 0x430127
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x16
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
cmp ebx, 0x2a
jne 0x430145
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x3e
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
cmp dword [ebp - 4], 0
je 0x43015a
cmp dword [ebp + eax - 0x2848], 0xf
mov eax, 0x36
jl 0x43015f
mov eax, 0x3d
mov edi, dword [ebp - 0xc]
inc edi
inc dword [ebp - 4]
mov dword [esi + 8], eax
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
cmp ebx, 0x3d
jne 0x4301b6
cmp byte [edi + 1], bl
jne 0x43019c
inc edi
mov eax, 0x28
inc edi
inc dword [ebp - 4]
mov dword [esi + 8], eax
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
mov eax, 0x27
inc edi
inc dword [ebp - 4]
mov dword [esi + 8], eax
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
mov edi, dword [ebp - 0xc]
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x3a
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
cmp dword [ebp - 4], 0
je 0x430212
cmp dword [ebp + eax - 0x2848], 0xf
jge 0x430212
mov eax, dword [ebp - 0x10]
movsx eax, byte [eax - 1]
push eax
push 0x4ad318
call fcn.004945a1
add esp, 8
test eax, eax
je 0x430212
cmp dword [ebp - 4], 0x1fe
jg 0x431c14
inc dword [ebp - 4]
mov dword [esi + 8], 0x2d
mov ecx, dword [ebp - 4]
mov edi, dword [ebp - 0xc]
mov esi, dword [ebp - 0x20]
add ecx, ecx
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [ebp + ecx*8 - 0x2838], 0xf
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
mov edi, dword [ebp - 0xc]
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0xc
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
cmp dword [ebp - 4], 0
je 0x43029d
cmp dword [ebp + eax - 0x2848], 0xb
jne 0x43029d
mov al, byte [edi]
cmp al, 0x20
je 0x43026d
cmp al, 9
jne 0x430270
inc edi
jmp 0x430263
cmp byte [edi], 0x5d
je 0x43029d
dec dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov edi, dword [ebp - 0xc]
mov esi, dword [ebp - 0x20]
add ecx, ecx
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [ebp + ecx*8 - 0x2838], 0x10
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
mov eax, 0xc
call fcn.0047c730
mov edi, eax
test edi, edi
je 0x4310e3
cmp dword [ebp - 4], 0
je 0x4302d1
mov edx, dword [ebp - 0x18]
cmp dword [ebp + edx - 0x2848], 0xf
jge 0x4302d1
mov dword [edi + 4], 0x4b8ca0
mov byte [edi + 9], 1
jmp 0x4302eb
push 0
push 0
push 0x4acf28
mov ecx, 0x4bc460
call fcn.0042ca20
mov dword [edi + 4], eax
mov byte [edi + 9], 0
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 4]
mov dword [edi], eax
mov byte [edi + 8], 1
mov dword [esi], edi
mov edi, dword [ebp - 0xc]
mov esi, dword [ebp - 0x20]
add ecx, ecx
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [ebp + ecx*8 - 0x2838], 0x10
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
mov edi, dword [ebp - 0xc]
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0xd
mov dword [esi + 4], ecx
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
cmp dword [ebp - 4], 0
je 0x43034e
cmp dword [ebp + eax - 0x2848], 0xf
jl 0x4310f4
mov eax, 0xc
call fcn.0047c730
mov ebx, eax
test ebx, ebx
je 0x4310e3
push 0
push 0
push 0x4ad330
mov ecx, 0x4bc460
call fcn.0042ca20
mov edi, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov dword [ebx + 4], eax
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov word [ebx + 8], 1
mov dword [ebx], edx
mov dword [esi], ebx
mov dword [esi + 8], 0x11
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
mov edi, dword [ebp - 0xc]
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0xe
mov dword [esi + 4], ecx
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
cmp ebx, 0x3d
jne 0x4303de
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x26
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
mov edi, dword [ebp - 0xc]
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x25
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
sub ebx, 0x3d
je 0x43049f
dec ebx
je 0x430422
mov edi, dword [ebp - 0xc]
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x29
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
cmp byte [ecx + 2], 0x3d
jne 0x430444
lea edi, [ecx + 2]
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x1d
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
cmp byte [edi + 1], 0x3e
jne 0x430486
inc edi
cmp byte [edi + 1], 0x3d
jne 0x43046c
inc edi
mov eax, 0x1e
inc edi
inc dword [ebp - 4]
mov dword [esi + 8], eax
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
mov eax, 0x33
inc edi
inc dword [ebp - 4]
mov dword [esi + 8], eax
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x32
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x2b
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
sub ebx, 0x3c
je 0x430511
dec ebx
je 0x4304f8
dec ebx
je 0x4304df
mov edi, dword [ebp - 0xc]
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x2a
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x27
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x2c
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
cmp byte [ecx + 2], 0x3d
jne 0x430533
lea edi, [ecx + 2]
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x1c
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x31
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
cmp ebx, 0x26
jne 0x43056a
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x23
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
cmp ebx, 0x3d
jne 0x430588
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x1b
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
cmp dword [ebp - 4], 0
je 0x43059d
cmp dword [ebp + eax - 0x2848], 0xf
mov eax, 0x30
jl 0x4305a2
mov eax, 0x3c
mov edi, dword [ebp - 0xc]
inc edi
inc dword [ebp - 4]
mov dword [esi + 8], eax
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
cmp ebx, 0x7c
jne 0x4305d8
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x22
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
cmp ebx, 0x3d
jne 0x4305f6
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x19
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
mov edi, dword [ebp - 0xc]
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x2e
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
cmp ebx, 0x3d
jne 0x430630
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x1a
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
mov edi, dword [ebp - 0xc]
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x2f
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
cmp ebx, 0x3d
jne 0x4306a3
lea eax, [ebx - 0x31]
mov dword [ebp - 0xc], edi
call fcn.0047c730
mov dword [esi], eax
test eax, eax
je 0x4310e3
push 0
push 0
push 0x4aaf8c
mov ecx, 0x4bc460
call fcn.0042ca20
mov ecx, dword [esi]
mov dword [ecx + 4], eax
mov edx, dword [esi]
mov byte [edx + 8], 1
mov eax, dword [esi]
inc edi
inc dword [ebp - 4]
mov byte [eax + 9], 2
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x43
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
mov edi, dword [ebp - 0xc]
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x3b
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
mov edi, dword [ebp - 0xc]
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x21
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
cmp ebx, 0x3d
jne 0x4306f9
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x13
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
mov edi, dword [ebp - 0xc]
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x20
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x43073d
cmp dword [ebp + eax - 0x2848], 0xf
jge 0x43073d
cmp ecx, 0x1fe
jg 0x431c14
inc ecx
mov dword [esi + 8], 0x2d
mov dword [ebp - 4], ecx
mov esi, edi
nop
mov al, byte [esi]
test al, al
je 0x431105
cmp al, 0x22
jne 0x430753
inc esi
cmp byte [esi], al
jne 0x430756
inc esi
jmp 0x430740
mov ebx, dword [ebp - 0x24]
mov edi, dword [ebp - 4]
mov ecx, esi
sub ecx, ebx
add edi, edi
lea ecx, [ecx - 1]
mov dword [ebp + edi*8 - 0x2838], 0
call fcn.0047c6c0
mov dword [ebp + edi*8 - 0x2840], eax
test eax, eax
je 0x4310e3
push 0
push 0xffffffffffffffff
push 1
push 0x4ad338
push 0x4ad33c
push eax
xor eax, eax
or ecx, 0xffffffff
call fcn.0047fe80
add esp, 0x18
mov al, byte [esi]
cmp al, 0x20
je 0x4307ac
cmp al, 9
jne 0x4307af
inc esi
jmp 0x4307a2
mov al, byte [esi]
mov dword [ebp - 0xc], esi
test al, al
je 0x430bd1
movsx eax, al
push eax
push 0x4ad340
call fcn.004945a1
add esp, 8
test eax, eax
je 0x430bd1
mov al, byte [esi + 1]
cmp al, 0x3d
je 0x430bd1
cmp al, 0x26
jne 0x4307ec
cmp byte [esi], al
je 0x430bd1
mov eax, dword [ebp - 4]
cmp eax, 0x1fe
jg 0x431c14
mov esi, dword [ebp - 0x20]
inc eax
mov dword [ebp - 4], eax
add eax, eax
inc dword [ebp - 4]
mov dword [ebp + eax*8 - 0x2838], 0x2d
mov eax, dword [ebp - 4]
jmp 0x42fcc2
cmp byte [ebp - 0x19], 0x2e
jne 0x4309c0
cmp ebx, 0x3d
jne 0x430841
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x1f
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
cmp ebx, 0x20
je 0x430989
cmp ebx, 9
je 0x430989
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x4309c0
cmp dword [ebp + eax - 0x2848], 0xf
lea eax, [ebp + eax - 0x2838]
mov dword [ebp - 0x24], eax
jge 0x4309c0
cmp ecx, 0x1fe
jg 0x431c14
mov eax, edi
call fcn.0043cb30
mov ebx, eax
movsx eax, byte [ebx]
push eax
push 0x4ac2d0
mov dword [ebp - 8], ebx
call fcn.004945a1
add esp, 8
test eax, eax
je 0x431116
cmp ebx, edi
jne 0x4308b4
cmp byte [ebx], 0x28
jne 0x431123
lea eax, [esi - 0x10]
lea ecx, [ebp - 0x2840]
mov byte [ebp - 0x19], 0
cmp eax, ecx
jb 0x4308ff
mov ecx, 0xb
lea ebx, [ebx]
cmp dword [eax + 8], ecx
jne 0x4308e4
sub eax, 0x20
lea edx, [ebp - 0x2840]
cmp eax, edx
jae 0x4308d0
jmp 0x4308ff
cmp dword [eax + 8], 8
jge 0x4308f7
lea ecx, [ebp - 0x2840]
cmp eax, ecx
jbe 0x4308f7
sub eax, 0x10
cmp dword [eax + 8], 0x42
sete byte [ebp - 0x19]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 8]
sub ecx, edi
mov ebx, edi
mov dword [edx], 5
call fcn.0047c6c0
mov dword [esi], eax
test eax, eax
je 0x4310e3
mov ebx, 1
add dword [ebp - 4], ebx
lea eax, [ebx + 0xb]
call fcn.0047c730
test eax, eax
je 0x4310e3
mov esi, dword [ebp - 8]
dec edi
mov dword [eax], edi
mov word [eax + 8], 0x201
cmp byte [esi], 0x28
jne 0x430959
cmp byte [ebp - 0x19], 0
jne 0x430959
lea edx, [ebx + 0x40]
mov dword [eax + 4], 0x4b8ea0
jmp 0x430965
mov edx, 0xb
mov dword [eax + 4], 0x4b8ca0
mov ecx, dword [ebp - 4]
add ecx, ecx
inc dword [ebp - 4]
mov dword [ebp + ecx*8 - 0x2840], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], esi
mov esi, dword [ebp - 0x20]
mov dword [ebp + ecx*8 - 0x2838], edx
jmp 0x42fcc2
cmp dword [ebp - 4], 0
je 0x431131
mov cl, byte [ecx - 1]
cmp cl, 0x20
je 0x4309a4
cmp cl, 9
jne 0x431131
mov dword [esi + 8], 0x2d
mov edi, dword [ebp - 0xc]
mov esi, dword [ebp - 0x20]
inc edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], edi
jmp 0x42fcc2
mov eax, edi
mov dword [ebp - 8], eax
movsx eax, byte [eax]
push eax
push 0x4ac2d0
call fcn.004945a1
add esp, 8
test eax, eax
jne 0x4309fc
lea ebx, [ebx]
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
movsx eax, byte [eax]
push eax
push 0x4ac2d0
call fcn.004945a1
add esp, 8
test eax, eax
je 0x4309e0
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x430a0e
mov ecx, dword [ebp - 8]
cmp ecx, dword [eax]
jae 0x430c8f
mov edx, dword [ebp - 8]
cmp byte [edx], 0x2e
jne 0x430a50
mov eax, edx
inc eax
mov dword [ebp - 8], eax
movsx eax, byte [eax]
push eax
push 0x4ac2d0
call fcn.004945a1
add esp, 8
test eax, eax
jne 0x430a4d
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
movsx eax, byte [eax]
push eax
push 0x4ac2d0
call fcn.004945a1
add esp, 8
test eax, eax
je 0x430a31
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
mov eax, edx
sub eax, ecx
cmp eax, 3
jne 0x42fee0
mov al, byte [ecx]
cmp al, 0x6e
je 0x430a6e
cmp al, 0x4e
jne 0x42fee0
mov ecx, edx
mov al, byte [ecx]
cmp al, 0x20
je 0x430a7a
cmp al, 9
jne 0x430a7d
inc ecx
jmp 0x430a70
cmp byte [ecx], 0x3a
je 0x42fee0
cmp ebx, 0x6f
je 0x430a90
cmp ebx, 0x4f
jne 0x430aa6
mov eax, dword [ebp - 0x10]
mov al, byte [eax + 2]
cmp al, 0x74
je 0x430b84
cmp al, 0x54
je 0x430b84
cmp ebx, 0x65
je 0x430ab4
cmp ebx, 0x45
jne 0x42fee0
mov ecx, dword [ebp - 0x10]
mov al, byte [ecx + 2]
cmp al, 0x77
je 0x430ac6
cmp al, 0x57
jne 0x42fee0
mov eax, dword [ebp - 4]
test eax, eax
je 0x430af0
mov edx, dword [ebp - 0x18]
cmp dword [ebp + edx - 0x2848], 0xf
jge 0x430af0
cmp eax, 0x1fe
jg 0x431c14
inc eax
mov dword [esi + 8], 0x2d
mov dword [ebp - 4], eax
cmp dword [0x4bc38c], 0
jne 0x430b0b
call fcn.0047c7a0
mov dword [0x4bc38c], eax
test eax, eax
je 0x4310e3
mov ecx, dword [0x4bc390]
cmp dword [ecx + 8], 0xc
jae 0x430b2d
call fcn.0047c7a0
mov ecx, dword [0x4bc390]
mov dword [ecx + 0xc], eax
test eax, eax
je 0x4310e3
mov eax, dword [ecx + 4]
add dword [ecx + 8], 0xfffffff4
lea edx, [eax + 0xc]
mov dword [0x4bc394], eax
mov dword [ecx + 4], edx
test eax, eax
je 0x4310e3
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
mov esi, dword [ebp - 0x20]
mov dword [eax], ecx
mov ecx, dword [ebp - 4]
add ecx, ecx
inc dword [ebp - 4]
mov dword [eax + 4], 0x4b8d60
mov word [eax + 8], 0x101
mov dword [ebp + ecx*8 - 0x2840], eax
mov eax, dword [ebp - 4]
mov dword [ebp + ecx*8 - 0x2838], 0x42
mov dword [ebp - 0xc], edx
jmp 0x42fcc2
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x24
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edx
jmp 0x42fcc2
test ebx, ebx
je 0x430bae
mov ecx, dword [ebp - 0x10]
push ebx
push ecx
push edi
call fcn.0049b620
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x430bb9
mov edi, 0x4a7935
mov edx, dword [ebp - 0x18]
mov dword [ebp + edx - 0x2840], edi
test edi, edi
je 0x4310e3
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
inc dword [ebp - 4]
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
jmp 0x42fcc2
test esi, esi
je 0x431141
cmp eax, 0x1ff
jg 0x431c14
cmp byte [esi + 8], 0
je 0x430c43
test eax, eax
je 0x430c26
mov ecx, eax
add ecx, ecx
cmp dword [ebp + ecx*8 - 0x2848], 0xf
lea ecx, [ebp + ecx*8 - 0x2838]
jge 0x430c26
cmp eax, 0x1fe
jg 0x431c14
inc eax
mov dword [ecx], 0x2d
mov dword [ebp - 4], eax
add eax, eax
mov dword [ebp + eax*8 - 0x2838], 0x41
mov dword [ebp + eax*8 - 0x2840], esi
mov byte [esi + 9], 0
jmp 0x4310c3
mov ecx, dword [esi]
mov dl, byte [ecx]
cmp dl, byte [0x4b79d3]
jne 0x430fbb
mov eax, dword [ebp - 0x20]
movzx esi, word [eax + 0xa]
movsx eax, byte [esi + ecx]
add esi, ecx
push eax
push 0x4ac2d0
mov dword [ebp - 8], esi
call fcn.004945a1
add esp, 8
test eax, eax
jne 0x430c8f
movsx eax, byte [esi + 1]
inc esi
push eax
push 0x4ac2d0
call fcn.004945a1
add esp, 8
test eax, eax
je 0x430c75
mov dword [ebp - 8], esi
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x430cc1
mov edx, ecx
add edx, edx
cmp dword [ebp + edx*8 - 0x2848], 0xf
lea eax, [ebp + edx*8 - 0x2838]
jge 0x430cc1
cmp ecx, 0x1fe
jg 0x431c14
inc ecx
mov dword [eax], 0x2d
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0xc]
shl ecx, 4
lea eax, [ebp + ecx - 0x2838]
mov dword [ebp - 0x24], eax
mov dword [eax], 7
mov eax, dword [ebp - 8]
sub eax, edx
mov edi, eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x20], edi
test edx, edx
je 0x430dae
cmp byte [edx], 0
je 0x430dae
cmp eax, 0xffffffff
jne 0x430d0e
mov eax, edx
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x430d00
sub eax, edx
mov edi, eax
mov dword [ebp - 0x20], eax
inc edi
lea eax, [edi - 1]
cmp eax, 0x7fff
ja 0x430d6f
cmp dword [0x4bc38c], 0
jne 0x430d30
call fcn.0047c7a0
mov dword [0x4bc38c], eax
test eax, eax
je 0x430d6f
mov esi, dword [0x4bc390]
cmp edi, dword [esi + 8]
jbe 0x430d4d
call fcn.0047c7a0
mov esi, dword [0x4bc390]
mov dword [esi + 0xc], eax
test eax, eax
je 0x430d6f
mov ebx, dword [esi + 4]
mov eax, edi
and eax, 3
mov dword [0x4bc394], ebx
je 0x430d62
sub edi, eax
add edi, 4
sub dword [esi + 8], edi
lea ecx, [edi + ebx]
mov dword [esi + 4], ecx
test ebx, ebx
jne 0x430d89
mov edx, dword [ebp - 0xc]
push edx
push 0x4aa228
mov ecx, 0x4bc460
call fcn.0043b780
mov ecx, dword [ebp - 0x18]
xor eax, eax
jmp 0x430db3
cmp dword [ebp - 0x20], 0
je 0x430da0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xc]
push eax
push ecx
push ebx
call fcn.0049b620
add esp, 0xc
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov byte [ebx + edx], 0
mov eax, ebx
jmp 0x430db9
mov eax, 0x4a7935
mov esi, dword [0x4bc390]
mov dword [ebp + ecx - 0x283c], eax
test eax, eax
je 0x4310e3
mov edi, dword [ebp - 0x28]
mov eax, dword [edi + 0xc]
mov edx, edi
add edi, 0xc
mov dword [ebp - 0x10], edx
test eax, eax
je 0x430dee
mov ecx, dword [ebp - 8]
lea ecx, [ecx]
cmp eax, ecx
jae 0x430dee
mov eax, dword [edi + 0xc]
add edi, 0xc
test eax, eax
jne 0x430de0
mov ecx, edi
sub ecx, edx
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
add eax, eax
add eax, eax
lea ebx, [eax + 0xc]
mov dword [ebp - 0x20], eax
lea eax, [ebx - 1]
sub edi, 0xc
mov dword [ebp - 0x28], ebx
cmp eax, 0x7fff
ja 0x4310e3
cmp dword [0x4bc38c], 0
jne 0x430e8e
push 0x10
call fcn.00493892
mov esi, eax
add esp, 4
test esi, esi
je 0x430e62
push 0x8000
mov dword [esi + 0xc], 0
call fcn.004931f9
add esp, 4
mov dword [esi + 4], eax
mov dword [esi], eax
test eax, eax
jne 0x430e6c
push esi
call fcn.00492988
add esp, 4
mov esi, dword [0x4bc390]
xor eax, eax
jmp 0x430e81
inc dword [0x4bc398]
mov dword [esi + 8], 0x8000
mov dword [0x4bc390], esi
mov eax, esi
mov dword [0x4bc38c], eax
test eax, eax
je 0x4310e3
cmp ebx, dword [esi + 8]
jbe 0x430ef3
push 0x10
call fcn.00493892
mov esi, eax
add esp, 4
test esi, esi
je 0x430ec9
push 0x8000
mov dword [esi + 0xc], 0
call fcn.004931f9
add esp, 4
mov dword [esi + 4], eax
mov dword [esi], eax
test eax, eax
jne 0x430ed3
push esi
call fcn.00492988
add esp, 4
mov esi, dword [0x4bc390]
xor eax, eax
jmp 0x430ee8
inc dword [0x4bc398]
mov dword [esi + 8], 0x8000
mov dword [0x4bc390], esi
mov eax, esi
mov dword [esi + 0xc], eax
test eax, eax
je 0x4310e3
mov ecx, dword [ebp - 0x28]
mov ebx, dword [esi + 4]
mov eax, ecx
and eax, 3
mov dword [0x4bc394], ebx
je 0x430f0b
sub ecx, eax
add ecx, 4
sub dword [esi + 8], ecx
lea edx, [ecx + ebx]
mov dword [esi + 4], edx
test ebx, ebx
je 0x4310e3
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
push esi
push eax
push ebx
call fcn.0049b620
mov ecx, dword [ebp - 0x18]
add esp, 0xc
mov dword [esi + ebx], 0
cmp dword [ebx], 0
mov eax, ebx
je 0x430f54
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp + ecx - 0x283c]
sub esi, edx
add dword [eax], esi
add eax, 0xc
cmp dword [eax], 0
jne 0x430f41
mov esi, dword [ebp - 8]
mov edx, dword [ebp - 4]
mov dword [ebp + ecx - 0x2840], ebx
cmp byte [esi], 0x28
jne 0x430faf
test edx, edx
je 0x430f73
mov ecx, dword [ebp - 0x24]
cmp dword [ecx - 0x10], 0x42
je 0x430faf
cmp edx, 0x1fe
jg 0x431c14
mov byte [eax + 8], 1
mov dword [eax + 4], 0
mov cl, byte [ebx + 9]
mov byte [eax + 9], cl
inc edx
mov ecx, edx
add ecx, ecx
mov dword [ebp + ecx*8 - 0x2838], 0x41
mov dword [ebp + ecx*8 - 0x2840], eax
mov dword [ebp - 0xc], esi
jmp 0x4310d0
mov byte [eax + 8], 0
mov dword [ebp - 0xc], esi
jmp 0x4310d0
test eax, eax
je 0x430fea
mov edx, eax
shl edx, 4
cmp dword [ebp + edx - 0x2848], 0xf
lea ecx, [ebp + edx - 0x2838]
jge 0x430fea
cmp eax, 0x1fe
jg 0x431c14
inc eax
mov dword [ecx], 0x2d
mov dword [ebp - 4], eax
mov ecx, dword [esi + 4]
add eax, eax
lea edi, [ebp + eax*8 - 0x2840]
mov dword [edi], ecx
mov ecx, dword [esi + 4]
mov dl, byte [ecx + 0x17]
test dl, dl
jne 0x431008
mov edx, dword [ecx + 0xc]
mov dl, byte [edx + 0x17]
mov ebx, 1
cmp dl, bl
jne 0x43102b
xor edx, edx
cmp dword [0x4bb5b4], edx
je 0x43102d
mov dword [ebp + eax*8 - 0x2838], 4
jmp 0x4310bc
xor edx, edx
mov ecx, dword [ecx + 0x10]
cmp ecx, 0x44e640
jne 0x431080
mov dword [ebp + eax*8 - 0x2838], ebx
mov eax, dword [esi]
movzx esi, byte [eax]
test esi, 0xffffff80
jne 0x43105e
push 2
push esi
call fcn.00493e17
add esp, 8
test eax, eax
je 0x43105e
and esi, 0xffffffdf
mov eax, esi
cmp al, 0x54
jne 0x431072
mov esi, dword [ebp - 0x20]
mov eax, ebx
xor ecx, ecx
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x4310c3
mov esi, dword [ebp - 0x20]
xor eax, eax
xor ecx, ecx
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x4310c3
cmp ecx, 0x44f200
jne 0x43109a
mov dword [ebp + eax*8 - 0x2838], ebx
mov dword [edi], 4
mov dword [edi + 4], edx
jmp 0x4310c3
cmp ecx, 0x44f020
jne 0x4310b1
mov dword [ebp + eax*8 - 0x2838], edx
mov dword [edi], 0x4a7935
jmp 0x4310c3
mov dword [ebp + eax*8 - 0x2838], 7
mov dword [ebp + eax*8 - 0x283c], edx
movzx ecx, word [esi + 0xa]
add dword [ebp - 0xc], ecx
mov edi, dword [ebp - 0x28]
mov edx, dword [ebp - 4]
add edi, 0xc
inc edx
mov dword [ebp - 0x28], edi
mov dword [ebp - 4], edx
mov eax, edx
mov ecx, edi
jmp 0x42fc97
push 0x4a7935
push 0
push 0x4aa228
jmp 0x431c20
push 0x4a7935
push 0
push 0x4ad320
jmp 0x431c20
push 0x4a7935
push 0
push 0x4ac28c
jmp 0x431c20
push ebx
push 0
push 0x4ad348
jmp 0x431c20
dec edi
push edi
push 0
push 0x4ac330
jmp 0x431c20
mov edx, dword [ebp - 0x10]
push edx
push 0
push 0x4ac330
jmp 0x431c20
cmp eax, 0x1ff
jg 0x431c14
add eax, eax
mov dword [ebp + eax*8 - 0x2838], 0x44
lea eax, [ebp - 0x38]
mov dword [ebp - 0x30], 8
mov dword [ebp - 0x840], eax
mov edx, 1
lea esi, [ebp - 0x2840]
xor ecx, ecx
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
lea esp, [esp]
mov eax, dword [ebp - 0x14]
mov edi, dword [esi + 8]
lea eax, [ebp + eax*4 - 0x3040]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + edx*4 - 0x844]
mov ebx, dword [eax + 8]
cmp edi, 8
jge 0x431218
cmp edi, 7
jne 0x4311fc
cmp dword [esi + 4], 0
jne 0x4311fc
mov eax, dword [esi]
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x4311bd
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
je 0x4311d4
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x4311cf
mov eax, dword [eax + 0xc]
mov cl, byte [eax + 0x17]
cmp cl, 2
jne 0x4311fc
mov eax, dword [esi + 0x18]
cmp eax, 0x1f
jg 0x4311e1
cmp eax, 0x13
jge 0x4311f5
cmp eax, 9
je 0x4311f5
cmp eax, 0xa
je 0x4311f5
cmp ebx, 0x3f
je 0x4311f5
cmp ebx, 0x40
jne 0x4311fc
mov dword [esi + 8], 4
mov eax, dword [ebp - 0x10]
mov dword [eax], esi
mov ecx, dword [eax]
add esi, 0x10
inc dword [ebp - 0x14]
mov dword [ecx + 0xc], 0
mov ecx, dword [ebp - 8]
jmp 0x431180
lea eax, [edi - 0xb]
cmp eax, 0x39
ja case.0x43122b.19
movzx eax, byte [eax + 0x431d18]
jmp dword [eax*4 + 0x431cf4]
cmp edi, 0x12
je 0x431272
mov eax, ebx
sub eax, edi
cmp eax, 3
je 0x431272
cmp ebx, 8
je 0x431257
cmp ebx, 0x11
jg 0x431719
cmp ebx, 0xf
jl 0x431719
cmp edi, 0xc
jne 0x4319d3
push 0x4a7935
mov eax, 0x4ad36c
push 0
push eax
jmp 0x431c20
test ecx, ecx
je 0x43141f
lea eax, [ebx - 0xf]
cmp eax, 2
ja 0x43141f
mov eax, dword [ecx + 4]
mov dword [ebp - 0x18], eax
cmp edi, 0x12
je 0x43129d
cmp dword [esi - 8], ebx
je 0x431351
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x4312be
movzx ecx, byte [ecx + 9]
cmp ecx, dword [eax + 0x10]
jl 0x4312be
cmp byte [eax + 0x3e], 0
je 0x4319ef
mov dword [ebp - 0x18], 0
mov eax, dword [esi - 8]
cmp eax, 0x12
je 0x4313aa
cmp eax, ebx
je 0x4313aa
cmp dword [ebp - 0x18], 0
je 0x43133b
mov eax, dword [ebp - 0x18]
cmp dword [eax + 8], 0x451930
jne 0x43131c
mov ecx, dword [ebp - 8]
cmp byte [ecx + 9], 0
jne 0x43131c
cmp dword [esi - 8], 0
jne 0x43131c
cmp dword [esi - 0x18], 0xf
jne 0x43131c
mov edx, dword [esi - 0x10]
push 0
push edx
call fcn.00451730
add esp, 8
test eax, eax
je 0x431319
cdq
mov dword [esi - 8], 1
mov dword [esi - 0x10], eax
mov dword [esi - 0xc], edx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x18]
cmp dword [eax + 8], 0x455cd0
jne 0x43133b
cmp dword [esi - 8], 7
jne 0x43133b
cmp dword [esi - 0xc], 0
jne 0x43133b
mov dword [esi - 8], 4
mov eax, dword [ebp - 8]
inc byte [eax + 9]
mov al, byte [eax + 9]
cmp ebx, 0x11
jne 0x431351
test al, 1
jne 0x431a01
cmp dword [ebp - 0x18], 0
je 0x43141f
cmp edi, 0xc
jne 0x431428
mov ecx, dword [ebp - 8]
movzx eax, byte [ecx + 9]
mov ecx, dword [ebp - 0x18]
cmp eax, dword [ecx + 0x14]
jge 0x431380
mov eax, dword [ebp - 8]
cmp byte [eax + 8], 2
jne 0x431a12
mov eax, dword [ebp + edx*4 - 0x844]
mov ecx, dword [eax + 4]
mov eax, dword [ebp + edx*4 - 0x848]
dec edx
add esi, 0x10
cmp dword [eax + 8], 0x41
mov dword [ebp - 4], edx
mov dword [ebp - 8], ecx
jne 0x431180
jmp 0x431719
xor ecx, ecx
cmp edi, 0x12
jne 0x4313ec
mov edi, dword [ebp - 0x14]
lea ebx, [ecx + 3]
jmp 0x4313c0
mov dword [ebp + edi*4 - 0x3040], esi
mov eax, dword [ebp + edi*4 - 0x3040]
mov dword [eax + 8], ebx
mov dword [eax], 0x4a7935
add esi, 0x10
mov dword [eax + 0xc], 0
inc ecx
inc edi
cmp dword [esi + 8], 0x12
je 0x4313c0
mov dword [ebp - 0x14], edi
mov eax, dword [esi + 8]
cmp eax, 0xe
jg 0x4313fd
cmp eax, 0xc
jge 0x431a24
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
test edi, edi
je 0x431414
movzx ebx, byte [eax + 9]
cmp ebx, dword [edi + 0x14]
jl 0x431a24
add byte [eax + 9], cl
mov ecx, dword [ebp - 8]
jmp 0x431180
cmp edi, 0xc
je 0x431380
jle 0x4314c9
cmp edi, 0xe
jg 0x4314c9
mov ecx, dword [ebp + edx*4 - 0x844]
mov dword [ecx + 8], 0x41
mov eax, dword [esi + 4]
cmp byte [eax + 1], 0x28
jne 0x4314bb
cmp edi, 0xe
je 0x431a36
mov edi, dword [ebp - 8]
cmp dword [edi + 4], 0x4b8ca0
jne 0x431a36
mov al, byte [edi + 9]
cmp al, 2
ja 0x431a36
cmp al, 1
jne 0x431496
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0x14]
mov byte [edi + 9], 2
mov dword [esi + 8], 3
mov dword [esi], 0x4a7935
mov dword [eax], esi
mov dword [esi + 0xc], 0
mov eax, dword [ecx]
add esi, 0x10
mov dword [eax + 4], 0x4b8ea0
mov ecx, dword [ecx + 4]
mov dword [ebp + edx*4 - 0x840], esi
mov dword [esi + 4], ecx
mov ecx, dword [ebp - 8]
inc edx
add esi, 0x10
jmp 0x431179
mov edx, dword [ecx + 4]
add esi, 0x10
mov dword [ebp - 8], edx
jmp 0x431719
mov al, byte [ebx + 0x4b9050]
cmp al, byte [edi + 0x4b9050]
jae 0x431719
cmp dword [ebp - 8], 0
jne 0x43154c
mov dword [ebp + edx*4 - 0x840], esi
inc edx
cmp dword [esi + 0x18], 0x44
lea eax, [esi + 0x10]
mov dword [ebp - 4], edx
je 0x43154c
mov edi, 0x13
cmp dword [eax + 0x18], 0x25
jne 0x43154c
mov ecx, dword [eax + 8]
cmp ecx, 4
je 0x431540
cmp ecx, 7
jne 0x43154c
cmp dword [eax + 4], 0
jne 0x43154c
mov ecx, dword [eax]
mov dl, byte [ecx + 0x17]
test dl, dl
jne 0x431522
mov edx, dword [ecx + 0xc]
mov dl, byte [edx + 0x17]
cmp dl, 1
je 0x431539
mov dl, byte [ecx + 0x17]
test dl, dl
jne 0x431534
mov ecx, dword [ecx + 0xc]
mov dl, byte [ecx + 0x17]
cmp dl, 2
jne 0x43154c
mov dword [eax + 8], 4
mov dword [eax + 0x18], edi
add eax, 0x20
cmp dword [eax + 8], 0x44
jne 0x4314fa
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
add esi, 0x10
jmp 0x431180
mov dword [ebp + edx*4 - 0x840], esi
inc edx
add esi, 0x10
mov dword [esi + 4], ecx
cmp edi, 0x41
jne 0x431580
mov ecx, dword [esi - 0x10]
mov dword [ebp + edx*4 - 0x840], esi
inc edx
add esi, 0x10
jmp 0x431176
cmp ebx, 0x42
jne 0x4315a5
mov eax, dword [ebp + edx*4 - 0x844]
mov dword [ebp + edx*4 - 0x840], esi
mov dword [eax + 8], 0x41
mov ecx, dword [eax]
inc edx
add esi, 0x10
jmp 0x431176
mov dword [ebp + edx*4 - 0x840], esi
xor ecx, ecx
inc edx
add esi, 0x10
jmp 0x431176
mov dword [esi + 4], ecx
mov ecx, dword [esi]
mov dword [ebp + edx*4 - 0x840], esi
inc edx
add esi, 0x10
jmp 0x431176
mov dword [ebp + edx*4 - 0x840], esi
inc edx
mov dword [esi + 8], 0x41
mov dword [ebp - 4], edx
add esi, 0x10
jmp 0x431719
cmp ebx, 8
je 0x431a48
test ecx, ecx
je 0x431603
cmp ebx, 0x11
jne 0x431603
inc byte [ecx + 9]
add esi, 0x10
jmp 0x431180
cmp ebx, 0xf
je 0x431a59
cmp ebx, 0x10
je 0x431a6a
cmp ebx, 0x11
je 0x431a7b
cmp ebx, 0x21
jne 0x431719
mov eax, dword [ebp + edx*4 - 0x844]
mov edi, dword [ebp - 0x10]
inc dword [ebp - 0x14]
mov dword [eax + 0xc], esi
mov dword [ebp + edx*4 - 0x844], esi
mov dword [edi], eax
add esi, 0x10
jmp 0x431179
cmp ebx, 8
je 0x431a8c
cmp ebx, 0xf
je 0x431bf8
cmp ebx, 0x10
je 0x431c06
cmp ebx, 0x11
jne 0x431719
push 0x4a7935
push 0
push 0x4abce0
jmp 0x431c20
test ecx, ecx
je case.0x43122b.19
mov eax, dword [esi + 0x18]
cmp eax, 0xc
je 0x43168e
cmp eax, 0xd
jne case.0x43122b.19
mov byte [ecx + 8], 2
add esi, 0x10
jmp 0x431180
cmp edi, 0x1f
jg 0x4316a4
cmp edi, 0x13
jge 0x4316ae
cmp edi, 9
je 0x4316ae
cmp edi, 0xa
jne 0x4316c5
lea ecx, [ebp - 0x2840]
cmp esi, ecx
jbe 0x4316c5
cmp dword [esi - 8], 4
jne 0x4316c5
mov dword [esi - 0xc], 1
movzx eax, byte [edi + 0x4b9050]
mov ecx, eax
and ecx, 0x80000001
jns 0x4316db
dec ecx
or ecx, 0xfffffffe
inc ecx
add ecx, eax
movzx eax, byte [ebx + 0x4b9050]
cmp eax, ecx
jl 0x4319a9
lea ecx, [edi - 0x13]
cmp ecx, 0xc
ja 0x4316fd
cmp ebx, 0x3d
jne 0x4319a9
cmp ebx, 0x3e
jne 0x431719
cmp edi, 0x39
jl 0x431710
cmp edi, 0x3d
jle 0x4319a9
cmp edi, 0x24
je 0x4319a9
mov eax, dword [ebp - 4]
mov ebx, dword [ebp + eax*4 - 0x844]
mov ecx, dword [ebp - 0x10]
dec eax
xor edx, edx
mov dword [ebx + 0xc], edx
mov edi, dword [ebx + 8]
mov dword [ebp - 4], eax
lea eax, [edi - 0x3f]
mov dword [ecx], ebx
cmp eax, 4
ja case.default.0x431740
jmp dword [eax*4 + 0x431d54]
mov edi, dword [ebx]
mov ecx, dword [edi + 4]
mov eax, dword [esi + 8]
cmp ecx, 0x4b8ca0
je 0x431763
cmp ecx, 0x4b8ea0
jne 0x43199b
lea ecx, [eax - 0x13]
cmp ecx, 0xc
ja 0x431830
cmp eax, 0x13
je 0x43180f
movzx edi, byte [edi + 9]
cmp edi, 2
je 0x4317b5
mov eax, 0x10
call fcn.0049ffc0
mov edx, dword [ebp - 0x10]
mov ecx, esp
mov eax, edi
mov dword [edx], ecx
cdq
mov dword [ecx + 8], 1
mov dword [ecx], eax
mov eax, 1
add dword [ebp - 0x14], eax
mov dword [ecx + 4], edx
mov dword [ecx + 0xc], 0
mov dword [ebp - 0x24], eax
jmp 0x4317b8
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x14]
lea ecx, [ebp + eax*4 - 0x3040]
mov eax, 0x10
mov dword [ebp - 0x28], ecx
call fcn.0049ffc0
mov edx, dword [ebp - 0x28]
mov edi, esp
mov eax, 0xc
mov dword [edx], edi
mov dword [edi + 8], 0x41
call fcn.0047c730
mov dword [edi], eax
test eax, eax
je 0x4310e3
mov dword [eax + 4], 0x4b8d20
mov ecx, dword [edi]
mov al, byte [ebp - 0x24]
mov byte [ecx + 8], 1
mov edx, dword [edi]
mov byte [edx + 9], al
mov dword [edi + 0xc], 0
jmp 0x431812
dec dword [ebp - 0x14]
mov ebx, dword [ebx]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
mov dword [esi], ebx
mov dword [ebx + 4], 0x4b8ce0
mov eax, dword [esi]
inc byte [eax + 9]
inc dword [ebp - 0x14]
jmp 0x431180
cmp eax, 8
jl 0x43199b
cmp eax, 9
je 0x431890
cmp eax, 0xa
je 0x4318a9
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + ecx*4 - 0x844]
mov eax, dword [edx + 8]
cmp eax, 0x3f
je 0x431877
cmp eax, 0x40
jne 0x43199b
dec dword [ebp - 4]
inc dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
mov eax, 0x4b8de0
mov dword [edi + 4], eax
jmp 0x431180
dec dword [ebp - 4]
inc dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
mov eax, 0x4b8da0
mov dword [edi + 4], eax
jmp 0x431180
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
mov eax, 0x4b8e20
add esi, 0x10
inc dword [ebp - 0x14]
mov dword [edi + 4], eax
jmp 0x431180
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
mov eax, 0x4b8e60
add esi, 0x10
inc dword [ebp - 0x14]
mov dword [edi + 4], eax
jmp 0x431180
cmp dword [ebp - 0x14], edx
je 0x43199b
mov ecx, dword [ecx - 4]
cmp dword [ecx + 8], 4
jne 0x43199b
inc dword [ebp - 0x14]
mov edx, dword [ebp - 4]
mov dword [ecx + 4], 1
mov ecx, dword [ebp - 8]
jmp 0x431180
lea eax, [edi - 0x13]
cmp eax, 0xc
ja 0x43199b
cmp dword [ebx], edx
je 0x43199b
cmp edi, 0x13
je case.0x431740.66
lea eax, [edi - 0x14]
cmp eax, 0xb
ja case.default.0x431912
jmp dword [eax*4 + 0x431d68]
mov edi, 0x34
jmp case.default.0x431912
mov edi, 0x35
jmp case.default.0x431912
mov edi, 0x36
jmp case.default.0x431912
mov edi, 0x37
jmp case.default.0x431912
mov edi, 0x38
jmp case.default.0x431912
mov edi, 0x2e
jmp case.default.0x431912
mov edi, 0x2f
jmp case.default.0x431912
mov edi, 0x30
jmp case.default.0x431912
mov edi, 0x31
jmp case.default.0x431912
mov edi, 0x32
jmp case.default.0x431912
mov edi, 0x33
jmp case.default.0x431912
mov edi, 0x2d
mov eax, 0x10
call fcn.0049ffc0
mov ecx, dword [ebp - 0x10]
mov eax, esp
mov dword [eax + 8], edi
mov dword [ecx], eax
mov dword [eax + 0xc], 0
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
mov dword [ebp + eax*4 - 0x3040], ebx
mov dword [ebx + 8], 0x41
inc dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
jmp 0x431180
add edi, 0xffffffdf
cmp edi, 2
ja 0x4319c0
cmp dword [ebp - 0x14], 0
je 0x4319c0
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax - 4]
mov dword [ecx + 0xc], esi
mov ecx, dword [ebp - 8]
mov dword [ebp + edx*4 - 0x840], esi
inc edx
add esi, 0x10
jmp 0x431179
mov eax, 0x4ad37c
cmp edi, 0xd
je 0x4319e2
mov eax, 0x4ad18c
push 0x4a7935
push 0
push eax
jmp 0x431c20
mov edx, dword [ebp - 8]
mov eax, dword [edx]
push eax
push 0
push 0x4ad38c
jmp 0x431c20
push 0x4a7935
push 0
push 0x4ad3b4
jmp 0x431c20
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
push edx
push 0
push 0x4aa5d8
jmp 0x431c20
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
push 0
push 0x4ac9f4
jmp 0x431c20
mov edx, dword [ebp - 8]
mov eax, dword [edx]
push eax
push 0
push 0x4ad3d8
jmp 0x431c20
push 0x4a7935
push 0
push 0x4ad3f8
jmp 0x431c20
push 0x4a7935
push 0
push 0x4ad414
jmp 0x431c20
push 0x4a7935
push 0
push 0x4ad42c
jmp 0x431c20
push 0x4a7935
push 0
push 0x4ad444
jmp 0x431c20
mov esi, dword [ebp - 0x14]
shl esi, 4
lea eax, [esi + 0x10]
mov dword [ebp - 0x28], esi
call fcn.0047c730
mov edi, dword [ebp + 0xc]
xor ebx, ebx
mov dword [edi + 0xc], eax
cmp eax, ebx
jne 0x431ab9
push 0x4a7935
push ebx
push 0x4aa228
jmp 0x431c20
cmp dword [ebp - 0x14], ebx
jle 0x431bd9
mov dword [ebp - 0x24], ebx
jmp 0x431ad0
mov esi, dword [edi + 0xc]
add esi, dword [ebp - 0x24]
mov eax, dword [ebp + ebx*4 - 0x3040]
mov ecx, dword [eax]
mov dword [esi], ecx
mov edx, dword [eax + 4]
mov dword [esi + 4], edx
mov ecx, dword [eax + 8]
mov dword [esi + 8], ecx
mov edx, dword [eax + 0xc]
mov dword [esi + 0xc], edx
cmp dword [esi + 8], 5
jne 0x431ba2
mov eax, dword [esi]
push 0
push 1
push 0
push 1
call fcn.0047f5a0
add esp, 0x10
cmp eax, 1
je 0x431b20
mov dword [esi + 4], 0
jmp 0x431ba2
cmp dword [0x4bc38c], 0
jne 0x431b37
call fcn.0047c7a0
mov dword [0x4bc38c], eax
test eax, eax
je 0x431b67
mov ecx, dword [0x4bc390]
cmp dword [ecx + 8], 8
jae 0x431b55
call fcn.0047c7a0
mov ecx, dword [0x4bc390]
mov dword [ecx + 0xc], eax
test eax, eax
je 0x431b67
mov eax, dword [ecx + 4]
add dword [ecx + 8], 0xfffffff8
lea edx, [eax + 8]
mov dword [0x4bc394], eax
mov dword [ecx + 4], edx
mov dword [esi + 4], eax
test eax, eax
je 0x4310e3
mov edi, dword [esi]
mov eax, edi
call fcn.00404090
test al, al
je 0x431b8e
push 0x10
push 0
push edi
call fcn.0049316b
add esp, 0xc
jmp 0x431b97
push edi
call fcn.004931e3
add esp, 4
mov ecx, dword [esi + 4]
mov edi, dword [ebp + 0xc]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x431bc8
lea eax, [ebx + 1]
cmp dword [ebp + ebx*4 - 0x303c], ecx
je 0x431bbf
inc eax
cmp dword [ebp + eax*4 - 0x3040], ecx
jne 0x431bb5
shl eax, 4
add eax, dword [edi + 0xc]
mov dword [esi + 0xc], eax
add dword [ebp - 0x24], 0x10
inc ebx
cmp ebx, dword [ebp - 0x14]
jl 0x431ad0
mov esi, dword [ebp - 0x28]
mov eax, dword [edi + 0xc]
mov dword [eax + esi + 8], 0x44
mov eax, 1
lea esp, [ebp - 0x3050]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push 0x4a7935
push 0
push 0x4aba7c
jmp 0x431c20
push 0x4a7935
push 0
push 0x4acba0
jmp 0x431c20
push 0x4a7935
push 0
push 0x4ad304
mov ecx, dword [ebp + 8]
call fcn.0043b4b0
lea esp, [ebp - 0x3050]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8