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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x3044
call fcn.004d5830
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
push ebx
xor ecx, ecx
push esi
push edi
mov dword [ebp - 4], ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x20], eax
test eax, eax
je 0x422e61
cmp dword [eax], 0
je 0x422e61
mov edx, dword [ebp - 0xc]
mov esi, eax
mov dword [ebp - 0x1c], esi
cmp edx, dword [eax]
jb 0x422e72
jmp 0x423cab
mov eax, dword [ebp - 0xc]
xor esi, esi
mov dword [ebp - 0x1c], esi
cmp word [eax], si
je 0x424156
cmp ecx, 0x1ff
jg 0x424c14
mov eax, dword [ebp - 0xc]
movzx edx, word [eax]
cmp edx, 0x20
je 0x422e8e
cmp edx, 9
jne 0x422e93
add eax, 2
jmp 0x422e81
cmp word [eax], 0
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], eax
je 0x423ca3
test esi, esi
je 0x422eaf
cmp eax, dword [esi]
jae 0x423ca3
shl ecx, 4
lea esi, [ebp + ecx - 0x2840]
mov dword [esi], 0
movzx edx, word [eax]
movzx ebx, word [eax + 2]
add edx, 0xffffffdf
lea edi, [eax + 2]
mov dword [ebp - 0x18], ecx
cmp edx, 0x5d
ja case.0x422edf.35
movzx edx, byte [edx + 0x424c9c]
jmp dword [edx*4 + 0x424c40]
cmp ebx, 0x3d
jne 0x422f07
mov dword [ebp - 0xc], edi
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x14
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
cmp dword [ebp - 4], 0
je 0x422f51
cmp dword [ebp + ecx - 0x2848], 0xf
jge 0x422f51
cmp ebx, 0x2b
jne 0x422f38
mov dword [ebp - 0xc], edi
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 9
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x31
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
cmp ebx, 0x2b
jne 0x422f72
mov dword [ebp - 0xc], edi
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x3c
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
dec dword [ebp - 4]
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov esi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 4]
jmp 0x422e72
cmp ebx, 0x3d
jne 0x422fa8
mov dword [ebp - 0xc], edi
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x15
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
cmp dword [ebp - 4], 0
je 0x422ff2
cmp dword [ebp + ecx - 0x2848], 0xf
jge 0x422ff2
cmp ebx, 0x2d
jne 0x422fd9
mov dword [ebp - 0xc], edi
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0xa
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x32
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
cmp ebx, 0x2d
jne 0x423013
mov dword [ebp - 0xc], edi
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x3d
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
mov dword [esi + 8], 0x36
cmp ebx, 0x30
jl 0x423024
cmp ebx, 0x39
jle 0x42302d
cmp ebx, 0x2e
jne 0x423a8f
mov ebx, dword [ebp - 0x14]
movzx eax, word [ebx + 4]
add ebx, 4
push eax
push str.__t____:_______
mov dword [ebp - 8], ebx
call fcn.004ca9cb
add esp, 8
test eax, eax
jne 0x42306c
lea esp, [esp]
movzx ecx, word [ebx + 2]
add ebx, 2
push ecx
push str.__t____:_______
call fcn.004ca9cb
add esp, 8
test eax, eax
je 0x423050
mov dword [ebp - 8], ebx
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x42307e
cmp ebx, dword [eax]
jae 0x423a8f
mov ebx, dword [ebp - 8]
mov eax, ebx
call fcn.00409d80
cmp word [eax], 0x2a
jne 0x423096
cmp word [eax + 2], 0x2a
je 0x423a8f
mov ecx, dword [ebp - 8]
movzx eax, word [ecx]
cmp eax, 0x2d
je 0x4230aa
cmp eax, 0x2b
jne 0x423154
movzx ebx, word [ecx - 2]
test ebx, 0xffffff80
jne 0x4230c8
push 2
push ebx
call fcn.004cae3e
add esp, 8
test eax, eax
je 0x4230c8
and ebx, 0xffffffdf
cmp bx, 0x45
jne 0x423154
mov ecx, dword [ebp - 0x14]
cmp word [ecx], 0x30
jne 0x4230fe
movzx ebx, word [edi]
test ebx, 0xffffff80
jne 0x4230f8
push 2
push ebx
call fcn.004cae3e
add esp, 8
test eax, eax
je 0x4230f8
and ebx, 0xffffffdf
cmp bx, 0x58
je 0x423154
mov eax, dword [ebp - 0x14]
cmp word [eax], 0x2d
mov ecx, dword [ebp - 8]
jne 0x423140
cmp word [edi], 0x30
jne 0x423140
movzx edi, word [eax + 4]
test edi, 0xffffff80
jne 0x42312e
push 2
push edi
call fcn.004cae3e
add esp, 8
test eax, eax
je 0x42312e
and edi, 0xffffffdf
cmp di, 0x58
je 0x423154
mov ecx, dword [ebp - 8]
jmp 0x423140
movzx eax, word [ecx + 2]
add ecx, 2
cmp eax, 0x30
jb 0x423151
cmp eax, 0x39
jbe 0x423140
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
test eax, eax
je 0x42317e
mov edx, dword [ebp - 0x18]
cmp dword [ebp + edx - 0x2848], 0xf
jge 0x42317e
cmp eax, 0x1fe
jg 0x424c14
inc eax
mov dword [esi + 8], 0x2b
mov dword [ebp - 4], eax
mov edi, dword [ebp - 8]
mov esi, eax
mov eax, dword [ebp - 0x14]
mov ecx, edi
sub ecx, eax
add esi, esi
sar ecx, 1
push eax
mov dword [ebp + esi*8 - 0x2838], 5
call fcn.004a3d20
add esp, 4
mov dword [ebp + esi*8 - 0x2840], eax
test eax, eax
je 0x423e83
mov dword [ebp - 0xc], edi
inc dword [ebp - 4]
mov esi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 4]
jmp 0x422e72
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x12
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
cmp ebx, 0x3d
jne 0x4231fc
mov dword [ebp - 0xc], edi
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x17
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
cmp ebx, 0x2f
jne 0x423242
add eax, 4
cmp word [eax], 0x3d
jne 0x423226
mov dword [ebp - 0xc], eax
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x18
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
mov dword [ebp - 0xc], edi
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x35
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x34
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
cmp ebx, 0x3d
jne 0x42327c
mov dword [ebp - 0xc], edi
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x16
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
cmp ebx, 0x2a
jne 0x42329d
mov dword [ebp - 0xc], edi
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x3b
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
cmp dword [ebp - 4], 0
je 0x4232b2
cmp dword [ebp + ecx - 0x2848], 0xf
mov eax, 0x33
jl 0x4232b7
mov eax, 0x3a
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], eax
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
cmp ebx, 0x3d
jne 0x4232ed
mov dword [ebp - 0xc], edi
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x26
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x37
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
cmp dword [ebp - 4], 0
je 0x423346
cmp dword [ebp + ecx - 0x2848], 0xf
jge 0x423346
mov edx, dword [ebp - 0x14]
movzx eax, word [edx - 2]
push eax
push str.__t__
call fcn.004ca9cb
add esp, 8
test eax, eax
je 0x423346
cmp dword [ebp - 4], 0x1fe
jg 0x424c14
inc dword [ebp - 4]
mov dword [esi + 8], 0x2b
mov ecx, dword [ebp - 4]
add dword [ebp - 0xc], 2
mov esi, dword [ebp - 0x1c]
add ecx, ecx
inc dword [ebp - 4]
mov dword [ebp + ecx*8 - 0x2838], 0xf
mov ecx, dword [ebp - 4]
jmp 0x422e72
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0xc
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
cmp dword [ebp - 4], 0
je 0x4233c6
mov edx, dword [ebp - 0x18]
cmp dword [ebp + edx - 0x2848], 0xb
jne 0x4233c6
mov eax, edi
call fcn.00409d80
cmp word [eax], 0x5d
je 0x4233c6
dec dword [ebp - 4]
mov edx, dword [ebp - 4]
add dword [ebp - 0xc], 2
mov esi, dword [ebp - 0x1c]
add edx, edx
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [ebp + edx*8 - 0x2838], 0x10
jmp 0x422e72
mov eax, 0xc
call fcn.004a3da0
mov edi, eax
test edi, edi
je 0x423e83
cmp dword [ebp - 4], 0
je 0x4233fa
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax - 0x2848], 0xf
jge 0x4233fa
mov dword [edi + 4], 0x516618
mov byte [edi + 9], 1
jmp 0x423414
push 0
push 0
push str.Array
mov ecx, 0x51c0f8
call fcn.0041fbd0
mov dword [edi + 4], eax
mov byte [edi + 9], 0
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
add dword [ebp - 0xc], 2
mov dword [edi], ecx
add edx, edx
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov byte [edi + 8], 1
mov dword [esi], edi
mov esi, dword [ebp - 0x1c]
mov dword [ebp + edx*8 - 0x2838], 0x10
jmp 0x422e72
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0xd
mov dword [esi + 4], eax
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
cmp dword [ebp - 4], 0
je 0x423471
cmp dword [ebp + ecx - 0x2848], 0xf
jl 0x424107
mov eax, 0xc
call fcn.004a3da0
mov edi, eax
test edi, edi
je 0x423e83
push 0
push 0
push str.Object
mov ecx, 0x51c0f8
call fcn.0041fbd0
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x14]
mov word [edi + 8], 1
mov dword [edi], eax
mov dword [esi], edi
mov dword [esi + 8], 0x11
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0xe
mov dword [esi + 4], eax
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
cmp ebx, 0x3d
jne 0x4234fe
mov dword [ebp - 0xc], edi
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x25
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x24
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
sub ebx, 0x3d
je 0x423579
dec ebx
je 0x423538
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x27
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
add eax, 4
cmp word [eax], 0x3d
jne 0x42355d
mov dword [ebp - 0xc], eax
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x1d
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
mov dword [ebp - 0xc], edi
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x30
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
mov dword [ebp - 0xc], edi
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x29
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
sub ebx, 0x3c
je 0x4235d9
dec ebx
je 0x4235bd
dec ebx
je 0x4232d1
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x28
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
mov dword [ebp - 0xc], edi
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x2a
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
add eax, 4
cmp word [eax], 0x3d
jne 0x4235fe
mov dword [ebp - 0xc], eax
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x1c
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
mov dword [ebp - 0xc], edi
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x2f
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
cmp ebx, 0x26
jne 0x42363b
mov dword [ebp - 0xc], edi
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x22
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
cmp ebx, 0x3d
jne 0x42365c
mov dword [ebp - 0xc], edi
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x1b
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
cmp dword [ebp - 4], 0
je 0x423671
cmp dword [ebp + ecx - 0x2848], 0xf
mov eax, 0x2e
jl 0x423676
mov eax, 0x39
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], eax
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
cmp ebx, 0x7c
jne 0x4236ac
mov dword [ebp - 0xc], edi
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x21
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
cmp ebx, 0x3d
jne 0x4236cd
mov dword [ebp - 0xc], edi
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x19
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x2c
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
cmp ebx, 0x3d
jne 0x423707
mov dword [ebp - 0xc], edi
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x1a
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x2d
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
cmp ebx, 0x3d
jne 0x423780
lea eax, [ebx - 0x31]
mov dword [ebp - 0xc], edi
call fcn.004a3da0
mov dword [esi], eax
test eax, eax
je 0x423e83
push 0
push 0
push 0x4ec850
call fcn.004a4b10
add esp, 4
push eax
mov ecx, 0x51c0f8
call fcn.0041fbd0
mov ecx, dword [esi]
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov dword [ecx + 4], eax
mov edx, dword [esi]
mov ecx, dword [ebp - 4]
mov byte [edx + 8], 1
mov eax, dword [esi]
mov byte [eax + 9], 2
mov dword [esi + 8], 0x40
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x38
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x20
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
cmp ebx, 0x3d
jne 0x4237d3
mov dword [ebp - 0xc], edi
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x13
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x1f
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
mov eax, dword [ebp - 4]
test eax, eax
je 0x423813
cmp dword [ebp + ecx - 0x2848], 0xf
jge 0x423813
cmp eax, 0x1fe
jg 0x424c14
inc eax
mov dword [esi + 8], 0x2b
mov dword [ebp - 4], eax
mov esi, edi
jmp 0x423820
movzx eax, word [esi]
test ax, ax
je 0x424118
cmp eax, 0x22
jne 0x423839
add esi, 2
cmp word [esi], ax
jne 0x42383e
add esi, 2
jmp 0x423820
mov ebx, dword [ebp - 4]
mov ecx, esi
sub ecx, edi
sar ecx, 1
add ebx, ebx
dec ecx
push edi
mov dword [ebp + ebx*8 - 0x2838], 0
call fcn.004a3d20
add esp, 4
mov dword [ebp + ebx*8 - 0x2840], eax
test eax, eax
je 0x423e83
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 0x4f05c4
push 0x4f05c8
push eax
xor eax, eax
call fcn.004ac860
add esp, 0x1c
mov eax, esi
call fcn.00409d80
mov esi, eax
movzx eax, word [esi]
mov dword [ebp - 0xc], esi
test ax, ax
je 0x4231b4
push eax
push 0x4f05d0
call fcn.004ca9cb
add esp, 8
test eax, eax
je 0x4231b4
movzx eax, word [esi + 2]
cmp eax, 0x3d
je 0x4231b4
cmp eax, 0x26
jne 0x4238d3
cmp word [esi], ax
je 0x4231b4
mov eax, dword [ebp - 4]
cmp eax, 0x1fe
jg 0x424c14
mov esi, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 4], eax
add eax, eax
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [ebp + eax*8 - 0x2838], 0x2b
jmp 0x422e72
cmp word [eax], 0x2e
jne 0x423aa1
cmp ebx, 0x3d
jne 0x42392b
mov dword [ebp - 0xc], edi
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x1e
mov esi, dword [ebp - 0x1c]
jmp 0x422e72
cmp ebx, 0x20
je 0x423a6c
cmp ebx, 9
je 0x423a6c
mov eax, dword [ebp - 4]
test eax, eax
je 0x423aa1
cmp dword [ebp + ecx - 0x2848], 0xf
lea ecx, [ebp + ecx - 0x2838]
mov dword [ebp - 0x28], ecx
jge 0x423aa1
cmp eax, 0x1fe
jg 0x424c14
mov eax, edi
call fcn.0042f4a0
mov ebx, eax
movzx ecx, word [ebx]
push ecx
push str.__t____:_______.
call fcn.004ca9cb
add esp, 8
test eax, eax
je 0x424129
cmp ebx, edi
jne 0x42399b
cmp word [ebx], 0x28
jne 0x424136
lea eax, [esi - 0x10]
lea edx, [ebp - 0x2840]
mov byte [ebp - 0x21], 0
cmp eax, edx
jb 0x4239e0
lea esp, [esp]
cmp dword [eax + 8], 0xb
jne 0x4239c5
sub eax, 0x20
lea ecx, [ebp - 0x2840]
cmp eax, ecx
jae 0x4239b0
jmp 0x4239e0
cmp dword [eax + 8], 8
jge 0x4239d8
lea edx, [ebp - 0x2840]
cmp eax, edx
jbe 0x4239d8
sub eax, 0x10
cmp dword [eax + 8], 0x3f
sete byte [ebp - 0x21]
mov eax, dword [ebp - 0x28]
mov ecx, ebx
sub ecx, edi
sar ecx, 1
push edi
mov dword [eax], 5
call fcn.004a3d20
add esp, 4
mov dword [esi], eax
test eax, eax
je 0x423e83
inc dword [ebp - 4]
mov eax, 0xc
call fcn.004a3da0
test eax, eax
je 0x423e83
add edi, 0xfffffffe
mov dword [eax], edi
mov word [eax + 8], 0x201
cmp word [ebx], 0x28
jne 0x423a3c
cmp byte [ebp - 0x21], 0
jne 0x423a3c
mov edx, 0x3e
mov dword [eax + 4], 0x516818
jmp 0x423a48
mov edx, 0xb
mov dword [eax + 4], 0x516618
mov ecx, dword [ebp - 4]
mov esi, dword [ebp - 0x1c]
add ecx, ecx
inc dword [ebp - 4]
mov dword [ebp + ecx*8 - 0x2838], edx
mov dword [ebp + ecx*8 - 0x2840], eax
mov ecx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
jmp 0x422e72
cmp dword [ebp - 4], 0
je 0x424146
movzx eax, word [eax - 2]
cmp eax, 0x20
je 0x423a88
cmp eax, 9
jne 0x424146
mov dword [esi + 8], 0x2b
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov esi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 4]
jmp 0x422e72
mov eax, edi
movzx ecx, word [eax]
push ecx
push str.__t____:_______.
mov dword [ebp - 8], eax
call fcn.004ca9cb
add esp, 8
test eax, eax
jne 0x423adf
jmp 0x423ac0
mov eax, dword [ebp - 8]
movzx edx, word [eax + 2]
add eax, 2
push edx
push str.__t____:_______.
mov dword [ebp - 8], eax
call fcn.004ca9cb
add esp, 8
test eax, eax
je 0x423ac0
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x423af1
mov ecx, dword [ebp - 8]
cmp ecx, dword [eax]
jae 0x423d5c
mov edx, dword [ebp - 8]
cmp word [edx], 0x2e
jne 0x423b3f
mov eax, edx
add eax, 2
mov dword [ebp - 8], eax
movzx eax, word [eax]
push eax
push str.__t____:_______.
call fcn.004ca9cb
add esp, 8
test eax, eax
jne 0x423b3f
jmp 0x423b20
mov eax, dword [ebp - 8]
movzx ecx, word [eax + 2]
add eax, 2
push ecx
push str.__t____:_______.
mov dword [ebp - 8], eax
call fcn.004ca9cb
add esp, 8
test eax, eax
je 0x423b20
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 0x14]
and edx, 0xfffffffe
cmp edx, 6
jne 0x423096
mov eax, dword [ebp - 0x14]
movzx eax, word [eax]
cmp eax, 0x6e
je 0x423b65
cmp eax, 0x4e
jne 0x423096
mov ecx, dword [ebp - 8]
movzx eax, word [ecx]
cmp eax, 0x20
je 0x423b75
cmp eax, 9
jne 0x423b7a
add ecx, 2
jmp 0x423b68
cmp word [ecx], 0x3a
je 0x423096
cmp ebx, 0x6f
je 0x423b8e
cmp ebx, 0x4f
jne 0x423ba7
mov ecx, dword [ebp - 0x14]
movzx eax, word [ecx + 4]
cmp eax, 0x74
je 0x423c88
cmp eax, 0x54
je 0x423c88
cmp ebx, 0x65
je 0x423bb5
cmp ebx, 0x45
jne 0x423096
mov edx, dword [ebp - 0x14]
movzx eax, word [edx + 4]
cmp eax, 0x77
je 0x423bca
cmp eax, 0x57
jne 0x423096
mov eax, dword [ebp - 4]
test eax, eax
je 0x423bf4
mov ecx, dword [ebp - 0x18]
cmp dword [ebp + ecx - 0x2848], 0xf
jge 0x423bf4
cmp eax, 0x1fe
jg 0x424c14
inc eax
mov dword [esi + 8], 0x2b
mov dword [ebp - 4], eax
cmp dword [0x51c01c], 0
jne 0x423c0f
call fcn.004a3e40
mov dword [0x51c01c], eax
test eax, eax
je 0x423e83
mov ecx, dword [0x51c020]
cmp dword [ecx + 8], 0xc
jae 0x423c31
call fcn.004a3e40
mov ecx, dword [0x51c020]
mov dword [ecx + 0xc], eax
test eax, eax
je 0x423e83
mov eax, dword [ecx + 4]
add dword [ecx + 8], 0xfffffff4
lea edx, [eax + 0xc]
mov dword [0x51c024], eax
mov dword [ecx + 4], edx
test eax, eax
je 0x423e83
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 8]
mov esi, dword [ebp - 0x1c]
mov dword [eax], ecx
mov ecx, dword [ebp - 4]
add ecx, ecx
inc dword [ebp - 4]
mov dword [eax + 4], 0x5166d8
mov word [eax + 8], 0x101
mov dword [ebp + ecx*8 - 0x2838], 0x3f
mov dword [ebp + ecx*8 - 0x2840], eax
mov ecx, dword [ebp - 4]
mov dword [ebp - 0xc], edx
jmp 0x422e72
mov eax, dword [ebp - 8]
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x23
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0xc], eax
jmp 0x422e72
test esi, esi
je 0x424156
cmp ecx, 0x1ff
jg 0x424c14
cmp byte [esi + 8], 0
je 0x423d09
test ecx, ecx
je 0x423cec
mov eax, ecx
add eax, eax
cmp dword [ebp + eax*8 - 0x2848], 0xf
lea eax, [ebp + eax*8 - 0x2838]
jge 0x423cec
cmp ecx, 0x1fe
jg 0x424c14
inc ecx
mov dword [eax], 0x2b
mov dword [ebp - 4], ecx
add ecx, ecx
mov dword [ebp + ecx*8 - 0x2838], 0x3e
mov dword [ebp + ecx*8 - 0x2840], esi
mov byte [esi + 9], 0
jmp 0x4240e1
mov eax, dword [esi]
mov dx, word [eax]
cmp dx, word [0x516514]
jne 0x423fcc
mov ecx, dword [ebp - 0x1c]
movzx edx, word [ecx + 0xa]
lea esi, [eax + edx*2]
movzx eax, word [esi]
push eax
push str.__t____:_______.
mov dword [ebp - 8], esi
call fcn.004ca9cb
add esp, 8
test eax, eax
jne 0x423d5c
lea ecx, [ecx]
movzx ecx, word [esi + 2]
add esi, 2
push ecx
push str.__t____:_______.
call fcn.004ca9cb
add esp, 8
test eax, eax
je 0x423d40
mov dword [ebp - 8], esi
mov edi, dword [ebp - 4]
test edi, edi
je 0x423d8b
mov edx, edi
add edx, edx
cmp dword [ebp + edx*8 - 0x2848], 0xf
lea eax, [ebp + edx*8 - 0x2838]
jge 0x423d8b
cmp edi, 0x1fe
jg 0x424c14
mov dword [eax], 0x2b
inc edi
mov ebx, dword [ebp - 8]
mov esi, edi
shl esi, 4
lea eax, [ebp + esi - 0x2838]
mov dword [ebp - 0x28], eax
mov dword [eax], 7
mov eax, dword [ebp - 0xc]
mov ecx, ebx
sub ecx, eax
sar ecx, 1
push eax
mov dword [ebp - 0x18], esi
call fcn.004a3d20
add esp, 4
mov dword [ebp + esi - 0x283c], eax
test eax, eax
je 0x423e83
mov esi, dword [ebp - 0x20]
mov eax, dword [esi + 0xc]
mov edx, esi
add esi, 0xc
mov dword [ebp - 0x14], edx
test eax, eax
je 0x423dee
lea esp, [esp]
cmp eax, ebx
jae 0x423dee
mov eax, dword [esi + 0xc]
add esi, 0xc
test eax, eax
jne 0x423de0
mov ecx, esi
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
mov dword [ebp - 0x1c], eax
add eax, 0xc
mov dword [ebp - 0x20], eax
dec eax
sub esi, 0xc
cmp eax, 0xffff
ja 0x423e83
cmp dword [0x51c01c], 0
jne 0x423e94
push 0x10
call fcn.004cb48c
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x423e5c
push 0x10000
mov dword [ebx + 0xc], 0
call fcn.004c9c38
add esp, 4
mov dword [ebx + 4], eax
mov dword [ebx], eax
test eax, eax
jne 0x423e65
push ebx
call fcn.004cb3e6
add esp, 4
mov eax, dword [0x51c020]
xor ebx, ebx
jmp 0x423e79
inc dword [0x51c028]
mov eax, ebx
mov dword [ebx + 8], 0x10000
mov dword [0x51c020], eax
mov dword [0x51c01c], ebx
test ebx, ebx
jne 0x423e99
push 0x4f5ac4
push 0
push str.Out_of_memory.
jmp 0x424c29
mov eax, dword [0x51c020]
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [eax + 8]
jbe 0x423efb
push 0x10
call fcn.004cb48c
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x423ed7
push 0x10000
mov dword [ebx + 0xc], 0
call fcn.004c9c38
add esp, 4
mov dword [ebx + 4], eax
mov dword [ebx], eax
test eax, eax
jne 0x423ee0
push ebx
call fcn.004cb3e6
add esp, 4
mov eax, dword [0x51c020]
xor ebx, ebx
jmp 0x423ef4
inc dword [0x51c028]
mov eax, ebx
mov dword [ebx + 8], 0x10000
mov dword [0x51c020], eax
mov dword [eax + 0xc], ebx
test ebx, ebx
je 0x423e83
mov edx, dword [ebp - 0x20]
mov ebx, dword [eax + 4]
mov ecx, edx
and ecx, 3
mov dword [0x51c024], ebx
je 0x423f13
sub edx, ecx
add edx, 4
sub dword [eax + 8], edx
lea ecx, [edx + ebx]
mov dword [eax + 4], ecx
test ebx, ebx
je 0x423e83
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
push edx
push eax
push ebx
call fcn.004d23c0
mov ecx, dword [ebp - 0x1c]
add esp, 0xc
mov dword [ecx + ebx], 0
cmp dword [ebx], 0
mov eax, ebx
je 0x423f64
mov edx, dword [eax]
sub edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp + ecx - 0x283c]
sar edx, 1
lea edx, [ecx + edx*2]
mov dword [eax], edx
add eax, 0xc
cmp dword [eax], 0
jne 0x423f46
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 8]
mov dword [ebp + ecx - 0x2840], ebx
cmp word [edx], 0x28
jne 0x423fc0
test edi, edi
je 0x423f84
mov ecx, dword [ebp - 0x28]
cmp dword [ecx - 0x10], 0x3f
je 0x423fc0
cmp edi, 0x1fe
jg 0x424c14
mov byte [eax + 8], 1
mov dword [eax + 4], 0
mov cl, byte [ebx + 9]
mov byte [eax + 9], cl
inc edi
mov ecx, edi
add ecx, ecx
mov dword [ebp + ecx*8 - 0x2838], 0x3e
mov dword [ebp + ecx*8 - 0x2840], eax
mov dword [ebp - 0xc], edx
jmp 0x4240f4
mov byte [eax + 8], 0
mov dword [ebp - 0xc], edx
jmp 0x4240f4
test ecx, ecx
je 0x423ffb
mov edx, ecx
add edx, edx
cmp dword [ebp + edx*8 - 0x2848], 0xf
lea eax, [ebp + edx*8 - 0x2838]
jge 0x423ffb
cmp ecx, 0x1fe
jg 0x424c14
inc ecx
mov dword [eax], 0x2b
mov dword [ebp - 4], ecx
mov eax, dword [esi + 4]
add ecx, ecx
lea edi, [ebp + ecx*8 - 0x2840]
mov dword [edi], eax
mov edx, dword [esi + 4]
mov al, byte [edx + 0x17]
test al, al
jne 0x424019
mov eax, dword [edx + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
jne 0x424037
xor eax, eax
cmp dword [0x51b038], eax
je 0x424039
mov dword [ebp + ecx*8 - 0x2838], 4
jmp 0x4240da
xor eax, eax
mov edx, dword [edx + 0x10]
cmp edx, 0x442590
jne 0x424093
mov dword [ebp + ecx*8 - 0x2838], 1
mov ecx, dword [esi]
movzx esi, word [ecx]
test esi, 0xffffff80
jne 0x42406e
push 2
push esi
call fcn.004cae3e
add esp, 8
test eax, eax
je 0x42406e
and esi, 0xffffffdf
cmp si, 0x54
jne 0x424085
mov esi, dword [ebp - 0x1c]
mov eax, 1
xor ecx, ecx
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x4240e1
mov esi, dword [ebp - 0x1c]
xor eax, eax
xor ecx, ecx
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x4240e1
cmp edx, 0x443350
jne 0x4240b1
mov dword [ebp + ecx*8 - 0x2838], 1
mov dword [edi], 4
mov dword [edi + 4], eax
jmp 0x4240e1
cmp edx, 0x443140
jne 0x4240cf
mov dword [ebp + ecx*8 - 0x2838], 1
mov dword [edi], 1
mov dword [edi + 4], eax
jmp 0x4240e1
mov dword [ebp + ecx*8 - 0x2838], 7
mov dword [ebp + ecx*8 - 0x283c], eax
movzx edx, word [esi + 0xa]
mov eax, dword [ebp - 0xc]
mov esi, dword [ebp - 0x20]
mov edi, dword [ebp - 4]
lea ecx, [eax + edx*2]
mov dword [ebp - 0xc], ecx
add esi, 0xc
inc edi
mov dword [ebp - 0x20], esi
mov dword [ebp - 4], edi
mov eax, esi
mov ecx, edi
jmp 0x422e47
push 0x4f5ac4
push 0
push 0x4f0584
jmp 0x424c20
push 0x4f5ac4
push 0
push 0x4eec10
jmp 0x424c20
push ebx
push 0
push 0x4f0668
jmp 0x424c20
add edi, 0xfffffffe
push edi
push 0
push 0x4f05e0
jmp 0x424c20
mov edx, dword [ebp - 0x14]
push edx
push 0
push 0x4f05e0
jmp 0x424c20
cmp ecx, 0x1ff
jg 0x424c14
add ecx, ecx
lea eax, [ebp - 0x38]
mov dword [ebp + ecx*8 - 0x2838], 0x41
mov dword [ebp - 0x30], 8
mov dword [ebp - 0x840], eax
mov edx, 1
lea esi, [ebp - 0x2840]
mov dword [ebp - 8], 0
mov dword [ebp - 4], edx
jmp 0x4241a0
mov ecx, dword [ebp - 0x10]
mov edi, dword [esi + 8]
lea eax, [ebp + ecx*4 - 0x3040]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + edx*4 - 0x844]
mov ebx, dword [eax + 8]
cmp edi, 8
jge 0x424231
cmp edi, 7
jne 0x424218
cmp dword [esi + 4], 0
jne 0x424218
mov eax, dword [esi]
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x4241d9
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
je 0x4241f0
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x4241eb
mov eax, dword [eax + 0xc]
mov cl, byte [eax + 0x17]
cmp cl, 2
jne 0x424218
mov eax, dword [esi + 0x18]
cmp eax, 0x1e
jg 0x4241fd
cmp eax, 0x13
jge 0x424211
cmp eax, 9
je 0x424211
cmp eax, 0xa
je 0x424211
cmp ebx, 0x3c
je 0x424211
cmp ebx, 0x3d
jne 0x424218
mov dword [esi + 8], 4
mov eax, dword [ebp - 0x18]
mov dword [eax], esi
mov ecx, dword [eax]
add esi, 0x10
inc dword [ebp - 0x10]
mov dword [ecx + 0xc], 0
jmp 0x4241a0
lea eax, [edi - 0xb]
cmp eax, 0x36
ja case.0x424244.19
movzx eax, byte [eax + 0x424d20]
jmp dword [eax*4 + 0x424cfc]
cmp edi, 0x12
je 0x424292
mov ecx, ebx
sub ecx, edi
cmp ecx, 3
je 0x424292
cmp ebx, 8
je 0x424270
cmp ebx, 0x11
jg 0x42471c
cmp ebx, 0xf
jl 0x42471c
cmp edi, 0xc
jne 0x4249b7
push 0x4f06c0
call fcn.004a4b10
add esp, 4
push 0x4f5ac4
push 0
jmp 0x424c28
cmp dword [ebp - 8], 0
je 0x42440d
lea eax, [ebx - 0xf]
cmp eax, 2
ja 0x42440d
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x1c], ecx
cmp edi, 0x12
je 0x4242bf
cmp dword [esi - 8], ebx
je 0x424350
test ecx, ecx
je 0x4242de
mov eax, dword [ebp - 8]
movzx eax, byte [eax + 9]
cmp eax, dword [ecx + 0x10]
jl 0x4242de
cmp byte [ecx + 0x3e], 0
je 0x4249ee
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [esi - 8]
cmp eax, 0x12
je 0x4243a4
cmp eax, ebx
je 0x4243a4
test ecx, ecx
je 0x42433a
mov ecx, dword [ebp - 0x1c]
cmp dword [ecx + 8], 0x445ef0
jne 0x42433a
mov eax, dword [ebp - 8]
cmp byte [eax + 9], 0
jne 0x42433a
cmp dword [esi - 8], 0
jne 0x42433a
cmp dword [esi - 0x18], 0xf
jne 0x42433a
mov ecx, dword [esi - 0x10]
push 0
push ecx
call fcn.00445c70
add esp, 8
test eax, eax
je 0x424337
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 - 8]
inc byte [eax + 9]
mov al, byte [eax + 9]
cmp ebx, 0x11
jne 0x424350
test al, 1
jne 0x424a00
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x42440d
cmp edi, 0xc
jne 0x424416
mov eax, dword [ebp - 8]
movzx edi, byte [eax + 9]
cmp edi, dword [ecx + 0x14]
jge 0x42437a
cmp byte [eax + 8], 2
jne 0x424a11
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], 0x3e
mov dword [ebp - 4], edx
mov dword [ebp - 8], ecx
jne 0x4241a0
jmp 0x42471c
xor ecx, ecx
cmp edi, 0x12
jne 0x4243dd
mov edi, dword [ebp - 0x10]
lea ebx, [ecx + 3]
mov dword [ebp + edi*4 - 0x3040], esi
mov eax, dword [ebp + edi*4 - 0x3040]
mov dword [eax + 8], ebx
mov dword [eax], 0x4f5ac4
add esi, 0x10
mov dword [eax + 0xc], 0
inc ecx
inc edi
cmp dword [esi + 8], 0x12
je 0x4243b1
mov dword [ebp - 0x10], edi
mov eax, dword [esi + 8]
cmp eax, 0xe
jg 0x4243ee
cmp eax, 0xc
jge 0x424a23
mov edi, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
test edi, edi
je 0x424405
movzx ebx, byte [eax + 9]
cmp ebx, dword [edi + 0x14]
jl 0x424a23
add byte [eax + 9], cl
jmp 0x4241a0
cmp edi, 0xc
je 0x42437a
jle 0x4244b5
cmp edi, 0xe
jg 0x4244b5
mov ecx, dword [ebp + edx*4 - 0x844]
mov dword [ecx + 8], 0x3e
mov eax, dword [esi + 4]
cmp word [eax + 2], 0x28
jne 0x4244a7
cmp edi, 0xe
je 0x424a35
mov edi, dword [ebp - 8]
cmp dword [edi + 4], 0x516618
jne 0x424a35
mov al, byte [edi + 9]
cmp al, 2
ja 0x424a35
cmp al, 1
jne 0x424485
mov eax, dword [ebp - 0x18]
inc dword [ebp - 0x10]
mov byte [edi + 9], 2
mov dword [esi + 8], 3
mov dword [esi], 0x4f5ac4
mov dword [eax], esi
mov dword [esi + 0xc], 0
mov eax, dword [ecx]
add esi, 0x10
mov dword [eax + 4], 0x516818
mov ecx, dword [ecx + 4]
mov dword [ebp + edx*4 - 0x840], esi
mov dword [esi + 4], ecx
inc edx
add esi, 0x10
jmp 0x424191
mov edx, dword [ecx + 4]
add esi, 0x10
mov dword [ebp - 8], edx
jmp 0x42471c
mov al, byte [ebx + 0x518370]
cmp al, byte [edi + 0x518370]
jae 0x42471c
cmp dword [ebp - 8], 0
jne 0x424538
mov dword [ebp + edx*4 - 0x840], esi
inc edx
cmp dword [esi + 0x18], 0x41
lea eax, [esi + 0x10]
mov dword [ebp - 4], edx
je 0x424538
mov edi, 0x13
cmp dword [eax + 0x18], 0x24
jne 0x424538
mov ecx, dword [eax + 8]
cmp ecx, 4
je 0x42452c
cmp ecx, 7
jne 0x424538
cmp dword [eax + 4], 0
jne 0x424538
mov ecx, dword [eax]
mov dl, byte [ecx + 0x17]
test dl, dl
jne 0x42450e
mov edx, dword [ecx + 0xc]
mov dl, byte [edx + 0x17]
cmp dl, 1
je 0x424525
mov dl, byte [ecx + 0x17]
test dl, dl
jne 0x424520
mov ecx, dword [ecx + 0xc]
mov dl, byte [ecx + 0x17]
cmp dl, 2
jne 0x424538
mov dword [eax + 8], 4
mov dword [eax + 0x18], edi
add eax, 0x20
cmp dword [eax + 8], 0x41
jne 0x4244e6
mov edx, dword [ebp - 4]
add esi, 0x10
jmp 0x4241a0
mov dword [ebp + edx*4 - 0x840], esi
inc edx
add esi, 0x10
mov ecx, dword [ebp - 8]
mov dword [esi + 4], ecx
cmp edi, 0x3e
jne 0x42456f
mov eax, dword [esi - 0x10]
mov dword [ebp + edx*4 - 0x840], esi
inc edx
mov dword [ebp - 8], eax
add esi, 0x10
jmp 0x424191
cmp ebx, 0x3f
jne 0x424597
mov eax, dword [ebp + edx*4 - 0x844]
mov dword [eax + 8], 0x3e
mov ecx, dword [eax]
mov dword [ebp + edx*4 - 0x840], esi
inc edx
mov dword [ebp - 8], ecx
add esi, 0x10
jmp 0x424191
mov dword [ebp + edx*4 - 0x840], esi
inc edx
mov dword [ebp - 8], 0
add esi, 0x10
jmp 0x424191
mov eax, dword [ebp - 8]
mov ecx, dword [esi]
mov dword [ebp + edx*4 - 0x840], esi
mov dword [esi + 4], eax
inc edx
mov dword [ebp - 8], ecx
add esi, 0x10
jmp 0x424191
mov dword [ebp + edx*4 - 0x840], esi
inc edx
mov dword [esi + 8], 0x3e
mov dword [ebp - 4], edx
add esi, 0x10
jmp 0x42471c
cmp ebx, 8
je 0x424a47
mov eax, dword [ebp - 8]
test eax, eax
je 0x424603
cmp ebx, 0x11
jne 0x424603
inc byte [eax + 9]
add esi, 0x10
jmp 0x4241a0
cmp ebx, 0xf
je 0x424a58
cmp ebx, 0x10
je 0x424a69
cmp ebx, 0x11
je 0x424a7a
cmp ebx, 0x20
jne 0x42471c
mov eax, dword [ebp + edx*4 - 0x844]
mov ecx, dword [ebp - 0x18]
inc dword [ebp - 0x10]
mov dword [eax + 0xc], esi
mov dword [ebp + edx*4 - 0x844], esi
mov dword [ecx], eax
add esi, 0x10
jmp 0x424191
cmp ebx, 8
je 0x424a8b
cmp ebx, 0xf
je 0x424bf8
cmp ebx, 0x10
je 0x424c06
cmp ebx, 0x11
jne 0x42471c
push 0x4f5ac4
push 0
push 0x4f046c
jmp 0x424c20
mov ecx, dword [ebp - 8]
test ecx, ecx
je case.0x424244.19
mov eax, dword [esi + 0x18]
cmp eax, 0xc
je 0x424691
cmp eax, 0xd
jne case.0x424244.19
mov byte [ecx + 8], 2
add esi, 0x10
jmp 0x4241a0
cmp edi, 0x1e
jg 0x4246a7
cmp edi, 0x13
jge 0x4246b1
cmp edi, 9
je 0x4246b1
cmp edi, 0xa
jne 0x4246c8
lea eax, [ebp - 0x2840]
cmp esi, eax
jbe 0x4246c8
cmp dword [esi - 8], 4
jne 0x4246c8
mov dword [esi - 0xc], 1
movzx eax, byte [edi + 0x518370]
mov ecx, eax
and ecx, 0x80000001
jns 0x4246de
dec ecx
or ecx, 0xfffffffe
inc ecx
add ecx, eax
movzx eax, byte [ebx + 0x518370]
cmp eax, ecx
jl 0x424990
lea ecx, [edi - 0x13]
cmp ecx, 0xb
ja 0x424700
cmp ebx, 0x3a
jne 0x424990
cmp ebx, 0x3b
jne 0x42471c
cmp edi, 0x36
jl 0x424713
cmp edi, 0x3a
jle 0x424990
cmp edi, 0x23
je 0x424990
mov eax, dword [ebp - 4]
mov ebx, dword [ebp + eax*4 - 0x844]
mov ecx, dword [ebp - 0x18]
dec eax
xor edx, edx
mov dword [ebx + 0xc], edx
mov edi, dword [ebx + 8]
mov dword [ebp - 4], eax
lea eax, [edi - 0x3c]
mov dword [ecx], ebx
cmp eax, 4
ja case.default.0x424743
jmp dword [eax*4 + 0x424d58]
mov edi, dword [ebx]
mov ecx, dword [edi + 4]
mov eax, dword [esi + 8]
cmp ecx, 0x516618
je 0x424766
cmp ecx, 0x516818
jne 0x424985
lea ecx, [eax - 0x13]
cmp ecx, 0xb
ja 0x424830
cmp eax, 0x13
je 0x424812
movzx edi, byte [edi + 9]
cmp edi, 2
je 0x4247b8
mov eax, 0x10
call fcn.004d5830
mov edx, dword [ebp - 0x18]
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 - 0x10], eax
mov dword [ecx + 4], edx
mov dword [ecx + 0xc], 0
mov dword [ebp - 0x28], eax
jmp 0x4247bb
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x10]
lea ecx, [ebp + eax*4 - 0x3040]
mov eax, 0x10
mov dword [ebp - 0x20], ecx
call fcn.004d5830
mov edx, dword [ebp - 0x20]
mov edi, esp
mov eax, 0xc
mov dword [edx], edi
mov dword [edi + 8], 0x3e
call fcn.004a3da0
mov dword [edi], eax
test eax, eax
je 0x423e83
mov dword [eax + 4], 0x516698
mov ecx, dword [edi]
mov al, byte [ebp - 0x28]
mov byte [ecx + 8], 1
mov edx, dword [edi]
mov byte [edx + 9], al
mov dword [edi + 0xc], 0
jmp 0x424815
dec dword [ebp - 0x10]
mov ebx, dword [ebx]
mov edx, dword [ebp - 4]
mov dword [esi], ebx
mov dword [ebx + 4], 0x516658
mov eax, dword [esi]
inc byte [eax + 9]
inc dword [ebp - 0x10]
jmp 0x4241a0
cmp eax, 8
jl 0x424985
cmp eax, 9
je 0x42488a
cmp eax, 0xa
je 0x4248a0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + ecx*4 - 0x844]
mov eax, dword [edx + 8]
cmp eax, 0x3c
je 0x424874
cmp eax, 0x3d
jne 0x424985
dec dword [ebp - 4]
inc dword [ebp - 0x10]
mov edx, dword [ebp - 4]
mov eax, 0x516758
mov dword [edi + 4], eax
jmp 0x4241a0
dec dword [ebp - 4]
inc dword [ebp - 0x10]
mov edx, dword [ebp - 4]
mov eax, 0x516718
mov dword [edi + 4], eax
jmp 0x4241a0
mov edx, dword [ebp - 4]
mov eax, 0x516798
add esi, 0x10
inc dword [ebp - 0x10]
mov dword [edi + 4], eax
jmp 0x4241a0
mov edx, dword [ebp - 4]
mov eax, 0x5167d8
add esi, 0x10
inc dword [ebp - 0x10]
mov dword [edi + 4], eax
jmp 0x4241a0
cmp dword [ebp - 0x10], edx
je 0x424985
mov ecx, dword [ecx - 4]
cmp dword [ecx + 8], 4
jne 0x424985
inc dword [ebp - 0x10]
mov edx, dword [ebp - 4]
mov dword [ecx + 4], 1
jmp 0x4241a0
lea eax, [edi - 0x13]
cmp eax, 0xb
ja 0x424985
cmp dword [ebx], edx
je 0x424985
cmp edi, 0x13
je case.0x424743.63
lea eax, [edi - 0x14]
cmp eax, 0xa
ja case.default.0x424903
jmp dword [eax*4 + 0x424d6c]
mov edi, 0x31
jmp case.default.0x424903
mov edi, 0x32
jmp case.default.0x424903
mov edi, 0x33
jmp case.default.0x424903
mov edi, 0x34
jmp case.default.0x424903
mov edi, 0x35
jmp case.default.0x424903
mov edi, 0x2c
jmp case.default.0x424903
mov edi, 0x2d
jmp case.default.0x424903
mov edi, 0x2e
jmp case.default.0x424903
mov edi, 0x2f
jmp case.default.0x424903
mov edi, 0x30
jmp case.default.0x424903
mov edi, 0x2b
mov eax, 0x10
call fcn.004d5830
mov ecx, dword [ebp - 0x18]
mov eax, esp
mov dword [eax + 8], edi
mov dword [ecx], eax
mov dword [eax + 0xc], 0
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
mov dword [ebp + eax*4 - 0x3040], ebx
mov dword [ebx + 8], 0x3e
inc dword [ebp - 0x10]
mov edx, dword [ebp - 4]
jmp 0x4241a0
add edi, 0xffffffe0
cmp edi, 2
ja 0x4249a7
cmp dword [ebp - 0x10], 0
je 0x4249a7
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax - 4]
mov dword [ecx + 0xc], esi
mov dword [ebp + edx*4 - 0x840], esi
inc edx
add esi, 0x10
jmp 0x424191
cmp edi, 0xd
jne 0x4249d5
push 0x4f06f0
call fcn.004a4b10
add esp, 4
push 0x4f5ac4
push 0
jmp 0x424c28
push 0x4f0244
call fcn.004a4b10
add esp, 4
push 0x4f5ac4
push 0
jmp 0x424c28
mov edx, dword [ebp - 8]
mov eax, dword [edx]
push eax
push 0
push 0x4f0720
jmp 0x424c20
push 0x4f5ac4
push 0
push 0x4f0780
jmp 0x424c20
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
push edx
push 0
push 0x4f07d8
jmp 0x424c20
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
push 0
push 0x4eeb78
jmp 0x424c20
mov edx, dword [ebp - 8]
mov eax, dword [edx]
push eax
push 0
push 0x4f0838
jmp 0x424c20
push 0x4f5ac4
push 0
push 0x4f0888
jmp 0x424c20
push 0x4f5ac4
push 0
push 0x4f08cc
jmp 0x424c20
push 0x4f5ac4
push 0
push 0x4f090c
jmp 0x424c20
push 0x4f5ac4
push 0
push 0x4f094c
jmp 0x424c20
mov esi, dword [ebp - 0x10]
shl esi, 4
lea eax, [esi + 0x10]
mov dword [ebp - 0x20], esi
call fcn.004a3da0
mov edi, dword [ebp + 0xc]
xor ebx, ebx
mov dword [edi + 0xc], eax
cmp eax, ebx
jne 0x424ab8
push 0x4f5ac4
push ebx
push str.Out_of_memory.
jmp 0x424c29
cmp dword [ebp - 0x10], ebx
jle 0x424bd9
mov dword [ebp - 0x28], ebx
jmp 0x424ad0
mov esi, dword [edi + 0xc]
add esi, dword [ebp - 0x28]
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 0x424ba2
mov eax, dword [esi]
push 0
push 1
push 0
push 1
call fcn.004abed0
add esp, 0x10
cmp eax, 1
je 0x424b20
mov dword [esi + 4], 0
jmp 0x424ba2
cmp dword [0x51c01c], 0
jne 0x424b37
call fcn.004a3e40
mov dword [0x51c01c], eax
test eax, eax
je 0x424b67
mov ecx, dword [0x51c020]
cmp dword [ecx + 8], 8
jae 0x424b55
call fcn.004a3e40
mov ecx, dword [0x51c020]
mov dword [ecx + 0xc], eax
test eax, eax
je 0x424b67
mov eax, dword [ecx + 4]
add dword [ecx + 8], 0xfffffff8
lea edx, [eax + 8]
mov dword [0x51c024], eax
mov dword [ecx + 4], edx
mov dword [esi + 4], eax
test eax, eax
je 0x423e83
mov edi, dword [esi]
mov eax, edi
call fcn.0040e320
test al, al
je 0x424b8e
push 0x10
push 0
push edi
call fcn.004cb90a
add esp, 0xc
jmp 0x424b97
push edi
call fcn.004cae91
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 0x424bc8
lea eax, [ebx + 1]
cmp dword [ebp + ebx*4 - 0x303c], ecx
je 0x424bbf
inc eax
cmp dword [ebp + eax*4 - 0x3040], ecx
jne 0x424bb5
shl eax, 4
add eax, dword [edi + 0xc]
mov dword [esi + 0xc], eax
add dword [ebp - 0x28], 0x10
inc ebx
cmp ebx, dword [ebp - 0x10]
jl 0x424ad0
mov esi, dword [ebp - 0x20]
mov eax, dword [edi + 0xc]
mov dword [esi + eax + 8], 0x41
mov eax, 1
lea esp, [ebp - 0x3050]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push 0x4f5ac4
push 0
push 0x4eeb00
jmp 0x424c20
push 0x4f5ac4
push 0
push 0x4ef05c
jmp 0x424c20
push 0x4f5ac4
push 0
push 0x4f0510
call fcn.004a4b10
add esp, 4
push eax
mov ecx, dword [ebp + 8]
call fcn.0042dd40
lea esp, [ebp - 0x3050]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8