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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x3044
call fcn.0049bfd0
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 - 0x28], eax
test eax, eax
je 0x425371
cmp dword [eax], 0
je 0x425371
mov edx, dword [ebp - 0xc]
mov esi, eax
mov dword [ebp - 0x1c], esi
cmp edx, dword [eax]
jb 0x425382
jmp 0x426316
mov eax, dword [ebp - 0xc]
xor esi, esi
mov dword [ebp - 0x1c], esi
cmp word [eax], si
je 0x4268ad
cmp ecx, 0x1ff
jg 0x427364
mov eax, dword [ebp - 0xc]
movzx edx, word [eax]
cmp edx, 0x20
je 0x42539e
cmp edx, 9
jne 0x4253a3
add eax, 2
jmp 0x425391
cmp word [eax], 0
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], eax
je 0x42630e
test esi, esi
je 0x4253bf
cmp eax, dword [esi]
jae 0x42630e
shl ecx, 4
lea esi, [ebp + ecx - 0x2840]
mov dword [esi], 0
movzx edx, word [eax]
movzx edi, word [eax + 2]
add edx, 0xffffffdf
lea ebx, [eax + 2]
mov dword [ebp - 0x18], ecx
cmp edx, 0x5d
ja case.0x4253ef.35
movzx edx, byte [edx + 0x4273e4]
jmp dword [edx*4 + 0x427388]
cmp edi, 0x3d
jne 0x425417
mov dword [ebp - 0xc], ebx
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 0x425382
cmp dword [ebp - 4], 0
je 0x425461
cmp dword [ebp + ecx - 0x2848], 0xf
jge 0x425461
cmp edi, 0x2b
jne 0x425448
mov dword [ebp - 0xc], ebx
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 0x425382
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 0x425382
cmp edi, 0x2b
jne 0x425482
mov dword [ebp - 0xc], ebx
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x3f
mov esi, dword [ebp - 0x1c]
jmp 0x425382
dec dword [ebp - 4]
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov esi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 4]
jmp 0x425382
cmp edi, 0x3d
jne 0x4254b8
mov dword [ebp - 0xc], ebx
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 0x425382
cmp dword [ebp - 4], 0
je 0x425502
cmp dword [ebp + ecx - 0x2848], 0xf
jge 0x425502
cmp edi, 0x2d
jne 0x4254e9
mov dword [ebp - 0xc], ebx
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 0x425382
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 0x425382
cmp edi, 0x2d
jne 0x425523
mov dword [ebp - 0xc], ebx
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x40
mov esi, dword [ebp - 0x1c]
jmp 0x425382
mov dword [esi + 8], 0x39
cmp edi, 0x30
jl 0x425534
cmp edi, 0x39
jle 0x42553d
cmp edi, 0x2e
jne 0x4260af
mov edi, dword [ebp - 0x14]
movzx eax, word [edi + 4]
add edi, 4
push eax
push 0x4aa724
mov dword [ebp - 8], edi
call fcn.00491ad1
add esp, 8
test eax, eax
jne 0x42557c
lea esp, [esp]
movzx ecx, word [edi + 2]
add edi, 2
push ecx
push 0x4aa724
call fcn.00491ad1
add esp, 8
test eax, eax
je 0x425560
mov dword [ebp - 8], edi
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x425590
cmp edi, dword [eax]
jae 0x4260af
mov edi, dword [ebp - 8]
mov edi, edi
movzx eax, word [edi]
cmp eax, 0x20
je 0x42559d
cmp eax, 9
jne 0x4255a2
add edi, 2
jmp 0x425590
cmp word [edi], 0x2a
jne 0x4255b3
cmp word [edi + 2], 0x2a
je 0x4260af
mov ecx, dword [ebp - 8]
movzx eax, word [ecx]
cmp eax, 0x2d
je 0x4255c7
cmp eax, 0x2b
jne 0x425668
movzx edi, word [ecx - 2]
test edi, 0xffffff80
jne 0x4255e5
push 2
push edi
call fcn.00491f4e
add esp, 8
test eax, eax
je 0x4255e5
and edi, 0xffffffdf
cmp di, 0x45
jne 0x425668
mov ecx, dword [ebp - 0x14]
cmp word [ecx], 0x30
jne 0x42561b
movzx edi, word [ebx]
test edi, 0xffffff80
jne 0x425615
push 2
push edi
call fcn.00491f4e
add esp, 8
test eax, eax
je 0x425615
and edi, 0xffffffdf
cmp di, 0x58
je 0x425668
mov eax, dword [ebp - 0x14]
cmp word [eax], 0x2d
mov ecx, dword [ebp - 8]
jne 0x425654
cmp word [ebx], 0x30
jne 0x425654
movzx ebx, word [eax + 4]
test ebx, 0xffffff80
jne 0x42564b
push 2
push ebx
call fcn.00491f4e
add esp, 8
test eax, eax
je 0x42564b
and ebx, 0xffffffdf
cmp bx, 0x58
je 0x425668
mov ecx, dword [ebp - 8]
movzx eax, word [ecx + 2]
add ecx, 2
cmp eax, 0x30
jb 0x425665
cmp eax, 0x39
jbe 0x425654
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
test eax, eax
je 0x425692
mov edx, dword [ebp - 0x18]
cmp dword [ebp + edx - 0x2848], 0xf
jge 0x425692
cmp eax, 0x1fe
jg 0x427364
inc eax
mov dword [esi + 8], 0x2d
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x14]
mov edi, eax
mov eax, dword [ebp - 8]
sub eax, ecx
add edi, edi
sar eax, 1
mov dword [ebp + edi*8 - 0x2838], 5
cmp word [ecx], 0
mov edx, eax
mov dword [ebp - 0x20], edx
je 0x4262e6
cmp eax, 0xffffffff
jne 0x4256d8
mov eax, ecx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4256c4
sub eax, edx
sar eax, 1
mov edx, eax
mov dword [ebp - 0x20], eax
lea esi, [edx + edx]
mov dword [ebp - 0x18], esi
add esi, 2
lea eax, [esi - 1]
cmp eax, 0xffff
ja 0x425745
cmp dword [0x4cc494], 0
jne 0x425702
call fcn.00474770
mov dword [0x4cc494], eax
test eax, eax
je 0x425745
mov ecx, dword [0x4cc498]
cmp esi, dword [ecx + 8]
jbe 0x42571f
call fcn.00474770
mov ecx, dword [0x4cc498]
mov dword [ecx + 0xc], eax
test eax, eax
je 0x425745
mov ebx, dword [ecx + 4]
mov eax, esi
and eax, 3
mov dword [0x4cc49c], ebx
je 0x425734
sub esi, eax
add esi, 4
sub dword [ecx + 8], esi
lea edx, [ebx + esi]
mov dword [ecx + 4], edx
test ebx, ebx
jne 0x4262c2
mov eax, dword [ebp - 0x14]
push eax
push 0x4a76c0
mov ecx, 0x4cc518
call fcn.00430c90
xor eax, eax
jmp 0x4262eb
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 0x425382
cmp edi, 0x3d
jne 0x425799
mov dword [ebp - 0xc], ebx
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 0x425382
cmp edi, 0x2f
jne 0x4257df
add eax, 4
cmp word [eax], 0x3d
jne 0x4257c3
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 0x425382
mov dword [ebp - 0xc], ebx
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 0x425382
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 0x425382
cmp edi, 0x3d
jne 0x425819
mov dword [ebp - 0xc], ebx
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 0x425382
cmp edi, 0x2a
jne 0x42583a
mov dword [ebp - 0xc], ebx
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x3e
mov esi, dword [ebp - 0x1c]
jmp 0x425382
cmp dword [ebp - 4], 0
je 0x42584f
cmp dword [ebp + ecx - 0x2848], 0xf
mov eax, 0x36
jl 0x425854
mov eax, 0x3d
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 0x425382
cmp edi, 0x3d
jne 0x4258b1
mov dword [ebp - 0xc], ebx
cmp word [ebx + 2], di
jne 0x425897
add ebx, 2
mov dword [ebp - 0xc], ebx
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, 0x28
mov dword [esi + 8], eax
mov esi, dword [ebp - 0x1c]
jmp 0x425382
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, 0x27
mov dword [esi + 8], eax
mov esi, dword [ebp - 0x1c]
jmp 0x425382
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x3a
mov esi, dword [ebp - 0x1c]
jmp 0x425382
cmp dword [ebp - 4], 0
je 0x42590a
cmp dword [ebp + ecx - 0x2848], 0xf
jge 0x42590a
mov edx, dword [ebp - 0x14]
movzx eax, word [edx - 2]
push eax
push 0x4abcc4
call fcn.00491ad1
add esp, 8
test eax, eax
je 0x42590a
cmp dword [ebp - 4], 0x1fe
jg 0x427364
inc dword [ebp - 4]
mov dword [esi + 8], 0x2d
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 0x425382
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 0x425382
cmp dword [ebp - 4], 0
je 0x42598a
mov edx, dword [ebp - 0x18]
cmp dword [ebp + edx - 0x2848], 0xb
jne 0x42598a
mov eax, ebx
call fcn.00409ea0
cmp word [eax], 0x5d
je 0x42598a
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 0x425382
mov eax, 0xc
call fcn.00474700
mov edi, eax
test edi, edi
je 0x42684d
cmp dword [ebp - 4], 0
je 0x4259be
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax - 0x2848], 0xf
jge 0x4259be
mov dword [edi + 4], 0x4c8b98
mov byte [edi + 9], 1
jmp 0x4259d8
push 0
push 0
push 0x4ab534
mov ecx, 0x4cc518
call fcn.00422110
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 0x425382
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 0x425382
cmp dword [ebp - 4], 0
je 0x425a35
cmp dword [ebp + ecx - 0x2848], 0xf
jl 0x42685e
mov eax, 0xc
call fcn.00474700
mov edi, eax
test edi, edi
je 0x42684d
push 0
push 0
push 0x4abcf0
mov ecx, 0x4cc518
call fcn.00422110
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 0x425382
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 0x425382
cmp edi, 0x3d
jne 0x425ac2
mov dword [ebp - 0xc], ebx
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 0x425382
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 0x425382
sub edi, 0x3d
je 0x425b8f
dec edi
je 0x425b00
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 0x425382
add eax, 4
cmp word [eax], 0x3d
jne 0x425b25
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 0x425382
cmp word [ebx + 2], 0x3e
mov dword [ebp - 0xc], ebx
jne 0x425b76
cmp word [ebx + 4], 0x3d
lea eax, [ebx + 2]
mov dword [ebp - 0xc], eax
jne 0x425b5c
add eax, 2
mov dword [ebp - 0xc], eax
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, 0x1e
mov dword [esi + 8], eax
mov esi, dword [ebp - 0x1c]
jmp 0x425382
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, 0x33
mov dword [esi + 8], eax
mov esi, dword [ebp - 0x1c]
jmp 0x425382
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 0x425382
mov dword [ebp - 0xc], ebx
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x2b
mov esi, dword [ebp - 0x1c]
jmp 0x425382
sub edi, 0x3c
je 0x425c07
dec edi
je 0x425beb
dec edi
je 0x425bcf
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 0x425382
mov dword [ebp - 0xc], ebx
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 0x425382
mov dword [ebp - 0xc], ebx
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 0x425382
add eax, 4
cmp word [eax], 0x3d
jne 0x425c2c
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 0x425382
mov dword [ebp - 0xc], ebx
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 0x425382
cmp edi, 0x26
jne 0x425c69
mov dword [ebp - 0xc], ebx
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x23
mov esi, dword [ebp - 0x1c]
jmp 0x425382
cmp edi, 0x3d
jne 0x425c8a
mov dword [ebp - 0xc], ebx
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 0x425382
cmp dword [ebp - 4], 0
je 0x425c9f
cmp dword [ebp + ecx - 0x2848], 0xf
mov eax, 0x30
jl 0x425ca4
mov eax, 0x3c
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 0x425382
cmp edi, 0x7c
jne 0x425cda
mov dword [ebp - 0xc], ebx
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 0x425382
cmp edi, 0x3d
jne 0x425cfb
mov dword [ebp - 0xc], ebx
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 0x425382
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x2e
mov esi, dword [ebp - 0x1c]
jmp 0x425382
cmp edi, 0x3d
jne 0x425d35
mov dword [ebp - 0xc], ebx
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 0x425382
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 0x425382
cmp edi, 0x3d
jne 0x425da5
lea eax, [edi - 0x31]
mov dword [ebp - 0xc], ebx
call fcn.00474700
mov dword [esi], eax
test eax, eax
je 0x42684d
push 0
push 0
push 0x4a8fe4
mov ecx, 0x4cc518
call fcn.00422110
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], 0x43
mov esi, dword [ebp - 0x1c]
jmp 0x425382
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 0x425382
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 0x425382
cmp edi, 0x3d
jne 0x425df8
mov dword [ebp - 0xc], ebx
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 0x425382
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 0x425382
mov eax, dword [ebp - 4]
test eax, eax
je 0x425e38
cmp dword [ebp + ecx - 0x2848], 0xf
jge 0x425e38
cmp eax, 0x1fe
jg 0x427364
inc eax
mov dword [esi + 8], 0x2d
mov dword [ebp - 4], eax
mov esi, ebx
lea ebx, [ebx]
movzx eax, word [esi]
test ax, ax
je 0x42686f
cmp eax, 0x22
jne 0x425e59
add esi, 2
cmp word [esi], ax
jne 0x425e5e
add esi, 2
jmp 0x425e40
mov edi, dword [ebp - 4]
mov ecx, esi
sub ecx, ebx
sar ecx, 1
add edi, edi
lea ecx, [ecx - 1]
push ebx
mov dword [ebp + edi*8 - 0x2838], 0
call fcn.00474680
add esp, 4
mov dword [ebp + edi*8 - 0x2840], eax
test eax, eax
je 0x42684d
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 0x4abd00
push 0x4abd04
push eax
xor eax, eax
call fcn.00477b20
add esp, 0x1c
mov eax, esi
call fcn.00409ea0
mov esi, eax
movzx eax, word [esi]
mov dword [ebp - 0xc], esi
test ax, ax
je 0x426300
push eax
push 0x4abd0c
call fcn.00491ad1
add esp, 8
test eax, eax
je 0x426300
movzx eax, word [esi + 2]
cmp eax, 0x3d
je 0x426300
cmp eax, 0x26
jne 0x425ef5
cmp word [esi], ax
je 0x426300
mov eax, dword [ebp - 4]
cmp eax, 0x1fe
jg 0x427364
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], 0x2d
jmp 0x425382
cmp word [eax], 0x2e
jne 0x4260c1
cmp edi, 0x3d
jne 0x425f4d
mov dword [ebp - 0xc], ebx
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 0x425382
cmp edi, 0x20
je 0x42608c
cmp edi, 9
je 0x42608c
mov eax, dword [ebp - 4]
test eax, eax
je 0x4260c1
cmp dword [ebp + ecx - 0x2848], 0xf
lea ecx, [ebp + ecx - 0x2838]
mov dword [ebp - 0x20], ecx
jge 0x4260c1
cmp eax, 0x1fe
jg 0x427364
mov eax, ebx
call fcn.004320c0
mov edi, eax
movzx ecx, word [edi]
push ecx
push 0x4aa7dc
call fcn.00491ad1
add esp, 8
test eax, eax
je 0x426880
cmp edi, ebx
jne 0x425fbd
cmp word [edi], 0x28
jne 0x42688d
lea eax, [esi - 0x10]
lea edx, [ebp - 0x2840]
mov byte [ebp - 0x21], 0
cmp eax, edx
jb 0x426000
mov edi, edi
cmp dword [eax + 8], 0xb
jne 0x425fe5
sub eax, 0x20
lea ecx, [ebp - 0x2840]
cmp eax, ecx
jae 0x425fd0
jmp 0x426000
cmp dword [eax + 8], 8
jge 0x425ff8
lea edx, [ebp - 0x2840]
cmp eax, edx
jbe 0x425ff8
sub eax, 0x10
cmp dword [eax + 8], 0x42
sete byte [ebp - 0x21]
mov eax, dword [ebp - 0x20]
mov ecx, edi
sub ecx, ebx
sar ecx, 1
push ebx
mov dword [eax], 5
call fcn.00474680
add esp, 4
mov dword [esi], eax
test eax, eax
je 0x42684d
inc dword [ebp - 4]
mov eax, 0xc
call fcn.00474700
test eax, eax
je 0x42684d
add ebx, 0xfffffffe
mov dword [eax], ebx
mov word [eax + 8], 0x201
cmp word [edi], 0x28
jne 0x42605c
cmp byte [ebp - 0x21], 0
jne 0x42605c
mov edx, 0x41
mov dword [eax + 4], 0x4c8d98
jmp 0x426068
mov edx, 0xb
mov dword [eax + 4], 0x4c8b98
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], edi
jmp 0x425382
cmp dword [ebp - 4], 0
je 0x42689d
movzx eax, word [eax - 2]
cmp eax, 0x20
je 0x4260a8
cmp eax, 9
jne 0x42689d
mov dword [esi + 8], 0x2d
add dword [ebp - 0xc], 2
inc dword [ebp - 4]
mov esi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 4]
jmp 0x425382
mov eax, ebx
movzx ecx, word [eax]
push ecx
push 0x4aa7dc
mov dword [ebp - 8], eax
call fcn.00491ad1
add esp, 8
test eax, eax
jne 0x4260ff
jmp 0x4260e0
mov eax, dword [ebp - 8]
movzx edx, word [eax + 2]
add eax, 2
push edx
push 0x4aa7dc
mov dword [ebp - 8], eax
call fcn.00491ad1
add esp, 8
test eax, eax
je 0x4260e0
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x426111
mov ecx, dword [ebp - 8]
cmp ecx, dword [eax]
jae 0x4263c4
mov edx, dword [ebp - 8]
cmp word [edx], 0x2e
jne 0x42615f
mov eax, edx
add eax, 2
mov dword [ebp - 8], eax
movzx eax, word [eax]
push eax
push 0x4aa7dc
call fcn.00491ad1
add esp, 8
test eax, eax
jne 0x42615f
jmp 0x426140
mov eax, dword [ebp - 8]
movzx ecx, word [eax + 2]
add eax, 2
push ecx
push 0x4aa7dc
mov dword [ebp - 8], eax
call fcn.00491ad1
add esp, 8
test eax, eax
je 0x426140
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x14]
sar eax, 1
cmp eax, 3
jne 0x4255b3
mov edx, dword [ebp - 0x14]
movzx eax, word [edx]
cmp eax, 0x6e
je 0x426184
cmp eax, 0x4e
jne 0x4255b3
mov ecx, dword [ebp - 8]
movzx eax, word [ecx]
cmp eax, 0x20
je 0x426194
cmp eax, 9
jne 0x426199
add ecx, 2
jmp 0x426187
cmp word [ecx], 0x3a
je 0x4255b3
cmp edi, 0x6f
je 0x4261ad
cmp edi, 0x4f
jne 0x4261c6
mov eax, dword [ebp - 0x14]
movzx eax, word [eax + 4]
cmp eax, 0x74
je 0x4262a7
cmp eax, 0x54
je 0x4262a7
cmp edi, 0x65
je 0x4261d4
cmp edi, 0x45
jne 0x4255b3
mov ecx, dword [ebp - 0x14]
movzx eax, word [ecx + 4]
cmp eax, 0x77
je 0x4261e9
cmp eax, 0x57
jne 0x4255b3
mov eax, dword [ebp - 4]
test eax, eax
je 0x426213
mov edx, dword [ebp - 0x18]
cmp dword [ebp + edx - 0x2848], 0xf
jge 0x426213
cmp eax, 0x1fe
jg 0x427364
inc eax
mov dword [esi + 8], 0x2d
mov dword [ebp - 4], eax
cmp dword [0x4cc494], 0
jne 0x42622e
call fcn.00474770
mov dword [0x4cc494], eax
test eax, eax
je 0x42684d
mov ecx, dword [0x4cc498]
cmp dword [ecx + 8], 0xc
jae 0x426250
call fcn.00474770
mov ecx, dword [0x4cc498]
mov dword [ecx + 0xc], eax
test eax, eax
je 0x42684d
mov eax, dword [ecx + 4]
add dword [ecx + 8], 0xfffffff4
lea edx, [eax + 0xc]
mov dword [0x4cc49c], eax
mov dword [ecx + 4], edx
test eax, eax
je 0x42684d
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], 0x4c8c58
mov word [eax + 8], 0x101
mov dword [ebp + ecx*8 - 0x2838], 0x42
mov dword [ebp + ecx*8 - 0x2840], eax
mov ecx, dword [ebp - 4]
mov dword [ebp - 0xc], edx
jmp 0x425382
mov eax, dword [ebp - 8]
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [esi + 8], 0x24
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0xc], eax
jmp 0x425382
cmp dword [ebp - 0x20], 0
je 0x4262d9
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
push ecx
push edx
push ebx
call fcn.00498b20
add esp, 0xc
mov ecx, dword [ebp - 0x18]
xor eax, eax
mov word [ecx + ebx], ax
mov eax, ebx
jmp 0x4262eb
mov eax, 0x4a4910
mov dword [ebp + edi*8 - 0x2840], eax
test eax, eax
je 0x42684d
mov edx, dword [ebp - 8]
mov dword [ebp - 0xc], edx
inc dword [ebp - 4]
mov esi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 4]
jmp 0x425382
test esi, esi
je 0x4268ad
cmp ecx, 0x1ff
jg 0x427364
cmp byte [esi + 8], 0
je 0x426374
test ecx, ecx
je 0x426357
mov eax, ecx
add eax, eax
cmp dword [ebp + eax*8 - 0x2848], 0xf
lea eax, [ebp + eax*8 - 0x2838]
jge 0x426357
cmp ecx, 0x1fe
jg 0x427364
inc ecx
mov dword [eax], 0x2d
mov dword [ebp - 4], ecx
add ecx, ecx
mov dword [ebp + ecx*8 - 0x2838], 0x41
mov dword [ebp + ecx*8 - 0x2840], esi
mov byte [esi + 9], 0
jmp 0x426827
mov eax, dword [esi]
mov dx, word [eax]
cmp dx, word [0x4c797c]
jne 0x426712
mov ecx, dword [ebp - 0x1c]
movzx edx, word [ecx + 0xa]
lea esi, [eax + edx*2]
movzx eax, word [esi]
push eax
push 0x4aa7dc
mov dword [ebp - 8], esi
call fcn.00491ad1
add esp, 8
test eax, eax
jne 0x4263c4
movzx ecx, word [esi + 2]
add esi, 2
push ecx
push 0x4aa7dc
call fcn.00491ad1
add esp, 8
test eax, eax
je 0x4263a8
mov dword [ebp - 8], esi
mov eax, dword [ebp - 4]
test eax, eax
je 0x4263f5
mov edx, eax
add edx, edx
cmp dword [ebp + edx*8 - 0x2848], 0xf
lea ecx, [ebp + edx*8 - 0x2838]
jge 0x4263f5
cmp eax, 0x1fe
jg 0x427364
inc eax
mov dword [ecx], 0x2d
mov dword [ebp - 4], eax
mov edx, dword [ebp - 0xc]
mov ecx, eax
shl ecx, 4
lea eax, [ebp + ecx - 0x2838]
mov dword [ebp - 0x20], eax
mov dword [eax], 7
mov eax, dword [ebp - 8]
sub eax, edx
sar eax, 1
mov esi, eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1c], esi
test edx, edx
je 0x4264fd
cmp word [edx], 0
je 0x4264fd
cmp eax, 0xffffffff
jne 0x426454
mov eax, edx
lea edx, [eax + 2]
jmp 0x426440
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x426440
sub eax, edx
sar eax, 1
mov esi, eax
mov dword [ebp - 0x1c], eax
add esi, esi
mov dword [ebp - 0x14], esi
add esi, 2
lea eax, [esi - 1]
cmp eax, 0xffff
ja 0x4264bc
cmp dword [0x4cc494], 0
jne 0x42647d
call fcn.00474770
mov dword [0x4cc494], eax
test eax, eax
je 0x4264bc
mov edi, dword [0x4cc498]
cmp esi, dword [edi + 8]
jbe 0x42649a
call fcn.00474770
mov edi, dword [0x4cc498]
mov dword [edi + 0xc], eax
test eax, eax
je 0x4264bc
mov ebx, dword [edi + 4]
mov eax, esi
and eax, 3
mov dword [0x4cc49c], ebx
je 0x4264af
sub esi, eax
add esi, 4
sub dword [edi + 8], esi
lea ecx, [esi + ebx]
mov dword [edi + 4], ecx
test ebx, ebx
jne 0x4264d6
mov edx, dword [ebp - 0xc]
push edx
push 0x4a76c0
mov ecx, 0x4cc518
call fcn.00430c90
mov ecx, dword [ebp - 0x18]
xor eax, eax
jmp 0x426502
cmp dword [ebp - 0x1c], 0
je 0x4264ed
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
push eax
push ecx
push ebx
call fcn.00498b20
add esp, 0xc
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov word [ebx + eax], dx
mov eax, ebx
jmp 0x426508
mov eax, 0x4a4910
mov edi, dword [0x4cc498]
mov dword [ebp + ecx - 0x283c], eax
test eax, eax
je 0x42684d
mov esi, dword [ebp - 0x28]
mov eax, dword [esi + 0xc]
mov edx, esi
add esi, 0xc
mov dword [ebp - 0x14], edx
test eax, eax
je 0x42653e
mov ecx, dword [ebp - 8]
lea esp, [esp]
cmp eax, ecx
jae 0x42653e
mov eax, dword [esi + 0xc]
add esi, 0xc
test eax, eax
jne 0x426530
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
lea ebx, [eax + 0xc]
lea ecx, [ebx - 1]
sub esi, 0xc
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], ebx
cmp ecx, 0xffff
ja 0x42684d
cmp dword [0x4cc494], 0
jne 0x4265df
push 0x10
call fcn.00492108
mov edi, eax
add esp, 4
test edi, edi
je 0x4265b3
push 0x10000
mov dword [edi + 0xc], 0
call fcn.00490fe4
add esp, 4
mov dword [edi + 4], eax
mov dword [edi], eax
test eax, eax
jne 0x4265bd
push edi
call fcn.004915eb
add esp, 4
mov edi, dword [0x4cc498]
xor eax, eax
jmp 0x4265d2
inc dword [0x4cc4a0]
mov dword [edi + 8], 0x10000
mov dword [0x4cc498], edi
mov eax, edi
mov dword [0x4cc494], eax
test eax, eax
je 0x42684d
cmp ebx, dword [edi + 8]
jbe 0x426644
push 0x10
call fcn.00492108
mov edi, eax
add esp, 4
test edi, edi
je 0x42661a
push 0x10000
mov dword [edi + 0xc], 0
call fcn.00490fe4
add esp, 4
mov dword [edi + 4], eax
mov dword [edi], eax
test eax, eax
jne 0x426624
push edi
call fcn.004915eb
add esp, 4
mov edi, dword [0x4cc498]
xor eax, eax
jmp 0x426639
inc dword [0x4cc4a0]
mov dword [edi + 8], 0x10000
mov dword [0x4cc498], edi
mov eax, edi
mov dword [edi + 0xc], eax
test eax, eax
je 0x42684d
mov ecx, dword [ebp - 0x28]
mov ebx, dword [edi + 4]
mov eax, ecx
and eax, 3
mov dword [0x4cc49c], ebx
je 0x42665c
sub ecx, eax
add ecx, 4
sub dword [edi + 8], ecx
lea edx, [ecx + ebx]
mov dword [edi + 4], edx
test ebx, ebx
je 0x42684d
mov edi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
push edi
push eax
push ebx
call fcn.00498b20
mov ecx, dword [ebp - 0x18]
add esp, 0xc
mov dword [edi + ebx], 0
cmp dword [ebx], 0
mov eax, ebx
je 0x4266aa
mov edx, dword [eax]
sub edx, dword [ebp - 0xc]
mov edi, dword [ebp + ecx - 0x283c]
sar edx, 1
lea edx, [edi + edx*2]
mov dword [eax], edx
add eax, 0xc
cmp dword [eax], 0
jne 0x42668f
mov edi, dword [ebp - 8]
mov edx, dword [ebp - 4]
mov dword [ebp + ecx - 0x2840], ebx
cmp word [edi], 0x28
jne 0x426706
test edx, edx
je 0x4266ca
mov ecx, dword [ebp - 0x20]
cmp dword [ecx - 0x10], 0x42
je 0x426706
cmp edx, 0x1fe
jg 0x427364
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], edi
jmp 0x42683a
mov byte [eax + 8], 0
mov dword [ebp - 0xc], edi
jmp 0x42683a
test ecx, ecx
je 0x426741
mov edx, ecx
add edx, edx
cmp dword [ebp + edx*8 - 0x2848], 0xf
lea eax, [ebp + edx*8 - 0x2838]
jge 0x426741
cmp ecx, 0x1fe
jg 0x427364
inc ecx
mov dword [eax], 0x2d
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 0x42675f
mov eax, dword [edx + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
jne 0x42677d
xor eax, eax
cmp dword [0x4cb6c4], eax
je 0x42677f
mov dword [ebp + ecx*8 - 0x2838], 4
jmp 0x426820
xor eax, eax
mov edx, dword [edx + 0x10]
cmp edx, 0x444e30
jne 0x4267d9
mov dword [ebp + ecx*8 - 0x2838], 1
mov ecx, dword [esi]
movzx esi, word [ecx]
test esi, 0xffffff80
jne 0x4267b4
push 2
push esi
call fcn.00491f4e
add esp, 8
test eax, eax
je 0x4267b4
and esi, 0xffffffdf
cmp si, 0x54
jne 0x4267cb
mov esi, dword [ebp - 0x1c]
mov eax, 1
xor ecx, ecx
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x426827
mov esi, dword [ebp - 0x1c]
xor eax, eax
xor ecx, ecx
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x426827
cmp edx, 0x445ac0
jne 0x4267f7
mov dword [ebp + ecx*8 - 0x2838], 1
mov dword [edi], 4
mov dword [edi + 4], eax
jmp 0x426827
cmp edx, 0x4458b0
jne 0x426815
mov dword [ebp + ecx*8 - 0x2838], 1
mov dword [edi], 1
mov dword [edi + 4], eax
jmp 0x426827
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 - 0x28]
lea ecx, [eax + edx*2]
mov edx, dword [ebp - 4]
mov dword [ebp - 0xc], ecx
add esi, 0xc
inc edx
mov dword [ebp - 0x28], esi
mov dword [ebp - 4], edx
mov eax, esi
mov ecx, edx
jmp 0x425357
push 0x4a4910
push 0
push 0x4a76c0
jmp 0x427370
push 0x4a4910
push 0
push 0x4abcd0
jmp 0x427370
push 0x4a4910
push 0
push 0x4aa754
jmp 0x427370
push edi
push 0
push 0x4abd20
jmp 0x427370
add ebx, 0xfffffffe
push ebx
push 0
push 0x4aa898
jmp 0x427370
mov edx, dword [ebp - 0x14]
push edx
push 0
push 0x4aa898
jmp 0x427370
cmp ecx, 0x1ff
jg 0x427364
add ecx, ecx
lea eax, [ebp - 0x38]
mov dword [ebp + ecx*8 - 0x2838], 0x44
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 0x4268f0
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 0x426981
cmp edi, 7
jne 0x426968
cmp dword [esi + 4], 0
jne 0x426968
mov eax, dword [esi]
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x426929
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
je 0x426940
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x42693b
mov eax, dword [eax + 0xc]
mov cl, byte [eax + 0x17]
cmp cl, 2
jne 0x426968
mov eax, dword [esi + 0x18]
cmp eax, 0x1f
jg 0x42694d
cmp eax, 0x13
jge 0x426961
cmp eax, 9
je 0x426961
cmp eax, 0xa
je 0x426961
cmp ebx, 0x3f
je 0x426961
cmp ebx, 0x40
jne 0x426968
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 0x4268f0
lea eax, [edi - 0xb]
cmp eax, 0x39
ja case.0x426994.19
movzx eax, byte [eax + 0x427468]
jmp dword [eax*4 + 0x427444]
cmp edi, 0x12
je 0x4269db
mov ecx, ebx
sub ecx, edi
cmp ecx, 3
je 0x4269db
cmp ebx, 8
je 0x4269c0
cmp ebx, 0x11
jg 0x426e8b
cmp ebx, 0xf
jl 0x426e8b
cmp edi, 0xc
jne 0x42712d
push 0x4a4910
mov eax, 0x4abd68
push 0
push eax
jmp 0x427370
cmp dword [ebp - 8], 0
je 0x426b7c
lea eax, [ebx - 0xf]
cmp eax, 2
ja 0x426b7c
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x1c], ecx
cmp edi, 0x12
je 0x426a08
cmp dword [esi - 8], ebx
je 0x426ab8
test ecx, ecx
je 0x426a27
mov eax, dword [ebp - 8]
movzx eax, byte [eax + 9]
cmp eax, dword [ecx + 0x10]
jl 0x426a27
cmp byte [ecx + 0x3e], 0
je 0x427149
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [esi - 8]
cmp eax, 0x12
je 0x426b0c
cmp eax, ebx
je 0x426b0c
test ecx, ecx
je 0x426aa2
mov ecx, dword [ebp - 0x1c]
cmp dword [ecx + 8], 0x448500
jne 0x426a83
mov eax, dword [ebp - 8]
cmp byte [eax + 9], 0
jne 0x426a83
cmp dword [esi - 8], 0
jne 0x426a83
cmp dword [esi - 0x18], 0xf
jne 0x426a83
mov ecx, dword [esi - 0x10]
push 0
push ecx
call fcn.004482b0
add esp, 8
test eax, eax
je 0x426a80
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 - 0x1c]
cmp dword [eax + 8], 0x44c810
jne 0x426aa2
cmp dword [esi - 8], 7
jne 0x426aa2
cmp dword [esi - 0xc], 0
jne 0x426aa2
mov dword [esi - 8], 4
mov eax, dword [ebp - 8]
inc byte [eax + 9]
mov al, byte [eax + 9]
cmp ebx, 0x11
jne 0x426ab8
test al, 1
jne 0x42715b
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x426b7c
cmp edi, 0xc
jne 0x426b85
mov eax, dword [ebp - 8]
movzx edi, byte [eax + 9]
cmp edi, dword [ecx + 0x14]
jge 0x426ae2
cmp byte [eax + 8], 2
jne 0x42716c
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 0x4268f0
jmp 0x426e8b
xor ecx, ecx
cmp edi, 0x12
jne 0x426b4c
mov edi, dword [ebp - 0x10]
lea ebx, [ecx + 3]
lea esp, [esp]
mov dword [ebp + edi*4 - 0x3040], esi
mov eax, dword [ebp + edi*4 - 0x3040]
mov dword [eax + 8], ebx
mov dword [eax], 0x4a4910
add esi, 0x10
mov dword [eax + 0xc], 0
inc ecx
inc edi
cmp dword [esi + 8], 0x12
je 0x426b20
mov dword [ebp - 0x10], edi
mov eax, dword [esi + 8]
cmp eax, 0xe
jg 0x426b5d
cmp eax, 0xc
jge 0x42717e
mov edi, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
test edi, edi
je 0x426b74
movzx ebx, byte [eax + 9]
cmp ebx, dword [edi + 0x14]
jl 0x42717e
add byte [eax + 9], cl
jmp 0x4268f0
cmp edi, 0xc
je 0x426ae2
jle 0x426c24
cmp edi, 0xe
jg 0x426c24
mov ecx, dword [ebp + edx*4 - 0x844]
mov dword [ecx + 8], 0x41
mov eax, dword [esi + 4]
cmp word [eax + 2], 0x28
jne 0x426c16
cmp edi, 0xe
je 0x427190
mov edi, dword [ebp - 8]
cmp dword [edi + 4], 0x4c8b98
jne 0x427190
mov al, byte [edi + 9]
cmp al, 2
ja 0x427190
cmp al, 1
jne 0x426bf4
mov eax, dword [ebp - 0x18]
inc dword [ebp - 0x10]
mov byte [edi + 9], 2
mov dword [esi + 8], 3
mov dword [esi], 0x4a4910
mov dword [eax], esi
mov dword [esi + 0xc], 0
mov eax, dword [ecx]
add esi, 0x10
mov dword [eax + 4], 0x4c8d98
mov ecx, dword [ecx + 4]
mov dword [ebp + edx*4 - 0x840], esi
mov dword [esi + 4], ecx
inc edx
add esi, 0x10
jmp 0x4268e8
mov edx, dword [ecx + 4]
add esi, 0x10
mov dword [ebp - 8], edx
jmp 0x426e8b
mov al, byte [ebx + 0x4c8f48]
cmp al, byte [edi + 0x4c8f48]
jae 0x426e8b
cmp dword [ebp - 8], 0
jne 0x426ca7
mov dword [ebp + edx*4 - 0x840], esi
inc edx
cmp dword [esi + 0x18], 0x44
lea eax, [esi + 0x10]
mov dword [ebp - 4], edx
je 0x426ca7
mov edi, 0x13
cmp dword [eax + 0x18], 0x25
jne 0x426ca7
mov ecx, dword [eax + 8]
cmp ecx, 4
je 0x426c9b
cmp ecx, 7
jne 0x426ca7
cmp dword [eax + 4], 0
jne 0x426ca7
mov ecx, dword [eax]
mov dl, byte [ecx + 0x17]
test dl, dl
jne 0x426c7d
mov edx, dword [ecx + 0xc]
mov dl, byte [edx + 0x17]
cmp dl, 1
je 0x426c94
mov dl, byte [ecx + 0x17]
test dl, dl
jne 0x426c8f
mov ecx, dword [ecx + 0xc]
mov dl, byte [ecx + 0x17]
cmp dl, 2
jne 0x426ca7
mov dword [eax + 8], 4
mov dword [eax + 0x18], edi
add eax, 0x20
cmp dword [eax + 8], 0x44
jne 0x426c55
mov edx, dword [ebp - 4]
add esi, 0x10
jmp 0x4268f0
mov dword [ebp + edx*4 - 0x840], esi
inc edx
add esi, 0x10
mov ecx, dword [ebp - 8]
mov dword [esi + 4], ecx
cmp edi, 0x41
jne 0x426cde
mov eax, dword [esi - 0x10]
mov dword [ebp + edx*4 - 0x840], esi
inc edx
mov dword [ebp - 8], eax
add esi, 0x10
jmp 0x4268e8
cmp ebx, 0x42
jne 0x426d06
mov eax, dword [ebp + edx*4 - 0x844]
mov dword [eax + 8], 0x41
mov ecx, dword [eax]
mov dword [ebp + edx*4 - 0x840], esi
inc edx
mov dword [ebp - 8], ecx
add esi, 0x10
jmp 0x4268e8
mov dword [ebp + edx*4 - 0x840], esi
inc edx
mov dword [ebp - 8], 0
add esi, 0x10
jmp 0x4268e8
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 0x4268e8
mov dword [ebp + edx*4 - 0x840], esi
inc edx
mov dword [esi + 8], 0x41
mov dword [ebp - 4], edx
add esi, 0x10
jmp 0x426e8b
cmp ebx, 8
je 0x4271a2
mov eax, dword [ebp - 8]
test eax, eax
je 0x426d72
cmp ebx, 0x11
jne 0x426d72
inc byte [eax + 9]
add esi, 0x10
jmp 0x4268f0
cmp ebx, 0xf
je 0x4271b3
cmp ebx, 0x10
je 0x4271c4
cmp ebx, 0x11
je 0x4271d5
cmp ebx, 0x21
jne 0x426e8b
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 0x4268e8
cmp ebx, 8
je 0x4271e6
cmp ebx, 0xf
je 0x427348
cmp ebx, 0x10
je 0x427356
cmp ebx, 0x11
jne 0x426e8b
push 0x4a4910
push 0
push 0x4a9d04
jmp 0x427370
mov ecx, dword [ebp - 8]
test ecx, ecx
je case.0x426994.19
mov eax, dword [esi + 0x18]
cmp eax, 0xc
je 0x426e00
cmp eax, 0xd
jne case.0x426994.19
mov byte [ecx + 8], 2
add esi, 0x10
jmp 0x4268f0
cmp edi, 0x1f
jg 0x426e16
cmp edi, 0x13
jge 0x426e20
cmp edi, 9
je 0x426e20
cmp edi, 0xa
jne 0x426e37
lea eax, [ebp - 0x2840]
cmp esi, eax
jbe 0x426e37
cmp dword [esi - 8], 4
jne 0x426e37
mov dword [esi - 0xc], 1
movzx eax, byte [edi + 0x4c8f48]
mov ecx, eax
and ecx, 0x80000001
jns 0x426e4d
dec ecx
or ecx, 0xfffffffe
inc ecx
add ecx, eax
movzx eax, byte [ebx + 0x4c8f48]
cmp eax, ecx
jl 0x427106
lea ecx, [edi - 0x13]
cmp ecx, 0xc
ja 0x426e6f
cmp ebx, 0x3d
jne 0x427106
cmp ebx, 0x3e
jne 0x426e8b
cmp edi, 0x39
jl 0x426e82
cmp edi, 0x3d
jle 0x427106
cmp edi, 0x24
je 0x427106
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 - 0x3f]
mov dword [ecx], ebx
cmp eax, 4
ja case.default.0x426eb2
jmp dword [eax*4 + 0x4274a4]
mov edi, dword [ebx]
mov ecx, dword [edi + 4]
mov eax, dword [esi + 8]
cmp ecx, 0x4c8b98
je 0x426ed5
cmp ecx, 0x4c8d98
jne 0x4270fb
lea ecx, [eax - 0x13]
cmp ecx, 0xc
ja 0x426f9f
cmp eax, 0x13
je 0x426f81
movzx edi, byte [edi + 9]
cmp edi, 2
je 0x426f27
mov eax, 0x10
call fcn.0049bfd0
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 - 0x20], eax
jmp 0x426f2a
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x10]
lea ecx, [ebp + eax*4 - 0x3040]
mov eax, 0x10
mov dword [ebp - 0x28], ecx
call fcn.0049bfd0
mov edx, dword [ebp - 0x28]
mov edi, esp
mov eax, 0xc
mov dword [edx], edi
mov dword [edi + 8], 0x41
call fcn.00474700
mov dword [edi], eax
test eax, eax
je 0x42684d
mov dword [eax + 4], 0x4c8c18
mov ecx, dword [edi]
mov al, byte [ebp - 0x20]
mov byte [ecx + 8], 1
mov edx, dword [edi]
mov byte [edx + 9], al
mov dword [edi + 0xc], 0
jmp 0x426f84
dec dword [ebp - 0x10]
mov ebx, dword [ebx]
mov edx, dword [ebp - 4]
mov dword [esi], ebx
mov dword [ebx + 4], 0x4c8bd8
mov eax, dword [esi]
inc byte [eax + 9]
inc dword [ebp - 0x10]
jmp 0x4268f0
cmp eax, 8
jl 0x4270fb
cmp eax, 9
je 0x426ff9
cmp eax, 0xa
je 0x42700f
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + ecx*4 - 0x844]
mov eax, dword [edx + 8]
cmp eax, 0x3f
je 0x426fe3
cmp eax, 0x40
jne 0x4270fb
dec dword [ebp - 4]
inc dword [ebp - 0x10]
mov edx, dword [ebp - 4]
mov eax, 0x4c8cd8
mov dword [edi + 4], eax
jmp 0x4268f0
dec dword [ebp - 4]
inc dword [ebp - 0x10]
mov edx, dword [ebp - 4]
mov eax, 0x4c8c98
mov dword [edi + 4], eax
jmp 0x4268f0
mov edx, dword [ebp - 4]
mov eax, 0x4c8d18
add esi, 0x10
inc dword [ebp - 0x10]
mov dword [edi + 4], eax
jmp 0x4268f0
mov edx, dword [ebp - 4]
mov eax, 0x4c8d58
add esi, 0x10
inc dword [ebp - 0x10]
mov dword [edi + 4], eax
jmp 0x4268f0
cmp dword [ebp - 0x10], edx
je 0x4270fb
mov ecx, dword [ecx - 4]
cmp dword [ecx + 8], 4
jne 0x4270fb
inc dword [ebp - 0x10]
mov edx, dword [ebp - 4]
mov dword [ecx + 4], 1
jmp 0x4268f0
lea eax, [edi - 0x13]
cmp eax, 0xc
ja 0x4270fb
cmp dword [ebx], edx
je 0x4270fb
cmp edi, 0x13
je case.0x426eb2.66
lea eax, [edi - 0x14]
cmp eax, 0xb
ja case.default.0x427072
jmp dword [eax*4 + 0x4274b8]
mov edi, 0x34
jmp case.default.0x427072
mov edi, 0x35
jmp case.default.0x427072
mov edi, 0x36
jmp case.default.0x427072
mov edi, 0x37
jmp case.default.0x427072
mov edi, 0x38
jmp case.default.0x427072
mov edi, 0x2e
jmp case.default.0x427072
mov edi, 0x2f
jmp case.default.0x427072
mov edi, 0x30
jmp case.default.0x427072
mov edi, 0x31
jmp case.default.0x427072
mov edi, 0x32
jmp case.default.0x427072
mov edi, 0x33
jmp case.default.0x427072
mov edi, 0x2d
mov eax, 0x10
call fcn.0049bfd0
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], 0x41
inc dword [ebp - 0x10]
mov edx, dword [ebp - 4]
jmp 0x4268f0
add edi, 0xffffffdf
cmp edi, 2
ja 0x42711d
cmp dword [ebp - 0x10], 0
je 0x42711d
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 0x4268e8
mov eax, 0x4abd88
cmp edi, 0xd
je 0x42713c
mov eax, 0x4ab9b8
push 0x4a4910
push 0
push eax
jmp 0x427370
mov edx, dword [ebp - 8]
mov eax, dword [edx]
push eax
push 0
push 0x4abda8
jmp 0x427370
push 0x4a4910
push 0
push 0x4abdf8
jmp 0x427370
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
push edx
push 0
push 0x4a7da0
jmp 0x427370
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
push 0
push 0x4aabd0
jmp 0x427370
mov edx, dword [ebp - 8]
mov eax, dword [edx]
push eax
push 0
push 0x4abe40
jmp 0x427370
push 0x4a4910
push 0
push 0x4abe80
jmp 0x427370
push 0x4a4910
push 0
push 0x4abeb4
jmp 0x427370
push 0x4a4910
push 0
push 0x4abee4
jmp 0x427370
push 0x4a4910
push 0
push 0x4abf14
jmp 0x427370
mov esi, dword [ebp - 0x10]
shl esi, 4
lea eax, [esi + 0x10]
mov dword [ebp - 0x28], esi
call fcn.00474700
mov edi, dword [ebp + 0xc]
xor ebx, ebx
mov dword [edi + 0xc], eax
cmp eax, ebx
jne 0x427213
push 0x4a4910
push ebx
push 0x4a76c0
jmp 0x427370
cmp dword [ebp - 0x10], ebx
jle 0x427329
mov dword [ebp - 0x20], ebx
nop
mov esi, dword [edi + 0xc]
add esi, dword [ebp - 0x20]
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 0x4272f2
mov eax, dword [esi]
push 0
push 1
push 0
push 1
call fcn.004771e0
add esp, 0x10
cmp eax, 1
je 0x427270
mov dword [esi + 4], 0
jmp 0x4272f2
cmp dword [0x4cc494], 0
jne 0x427287
call fcn.00474770
mov dword [0x4cc494], eax
test eax, eax
je 0x4272b7
mov ecx, dword [0x4cc498]
cmp dword [ecx + 8], 8
jae 0x4272a5
call fcn.00474770
mov ecx, dword [0x4cc498]
mov dword [ecx + 0xc], eax
test eax, eax
je 0x4272b7
mov eax, dword [ecx + 4]
add dword [ecx + 8], 0xfffffff8
lea edx, [eax + 8]
mov dword [0x4cc49c], eax
mov dword [ecx + 4], edx
mov dword [esi + 4], eax
test eax, eax
je 0x42684d
mov edi, dword [esi]
mov eax, edi
call fcn.0040f270
test al, al
je 0x4272de
push 0x10
push 0
push edi
call fcn.004929c3
add esp, 0xc
jmp 0x4272e7
push edi
call fcn.00491fa1
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 0x427318
lea eax, [ebx + 1]
cmp dword [ebp + ebx*4 - 0x303c], ecx
je 0x42730f
inc eax
cmp dword [ebp + eax*4 - 0x3040], ecx
jne 0x427305
shl eax, 4
add eax, dword [edi + 0xc]
mov dword [esi + 0xc], eax
add dword [ebp - 0x20], 0x10
inc ebx
cmp ebx, dword [ebp - 0x10]
jl 0x427220
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 0x4a4910
push 0
push 0x4a985c
jmp 0x427370
push 0x4a4910
push 0
push 0x4aaf04
jmp 0x427370
push 0x4a4910
push 0
push 0x4abc9c
mov ecx, dword [ebp + 8]
call fcn.004309e0
lea esp, [ebp - 0x3050]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8