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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x3044
call fcn.00493660
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
push ebx
xor ebx, ebx
push esi
xor eax, eax
push edi
mov dword [ebp - 4], eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x28], ecx
lea esp, [esp]
cmp ecx, ebx
je 0x423b99
cmp dword [ecx], ebx
je 0x423b99
mov edx, dword [ebp - 0xc]
mov esi, ecx
mov dword [ebp - 0x20], esi
cmp edx, dword [ecx]
jb 0x423bb0
jmp 0x424acd
mov ecx, dword [ebp - 0xc]
xor esi, esi
cmp byte [ecx], 0
mov dword [ebp - 0x20], esi
je 0x42504d
lea ebx, [ebx]
cmp eax, 0x1ff
jg 0x425ae4
mov ecx, dword [ebp - 0xc]
mov edi, edi
mov dl, byte [ecx]
cmp dl, 0x20
je 0x423bcc
cmp dl, 9
jne 0x423bcf
inc ecx
jmp 0x423bc0
cmp byte [ecx], 0
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], ecx
je 0x424ac5
cmp esi, ebx
je 0x423bea
cmp ecx, dword [esi]
jae 0x424ac5
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.0x423c22.35
movzx edx, byte [edx + 0x425b64]
jmp dword [edx*4 + 0x425b08]
cmp ebx, 0x3d
jne 0x423c49
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x14
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
cmp dword [ebp - 4], 0
je 0x423c97
cmp dword [ebp + eax - 0x2848], 0xf
jge 0x423c97
cmp ebx, 0x2b
jne 0x423c79
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 9
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
mov edi, dword [ebp - 0xc]
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x31
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
cmp ebx, 0x2b
jne 0x423cb7
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x3c
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
dec dword [ebp - 4]
mov edi, dword [ebp - 0xc]
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov esi, dword [ebp - 0x20]
inc edi
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
cmp ebx, 0x3d
jne 0x423cf1
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x15
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
cmp dword [ebp - 4], 0
je 0x423d3f
cmp dword [ebp + eax - 0x2848], 0xf
jge 0x423d3f
cmp ebx, 0x2d
jne 0x423d21
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0xa
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
mov edi, dword [ebp - 0xc]
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x32
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
cmp ebx, 0x2d
jne 0x423d5f
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x3d
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
mov dword [esi + 8], 0x36
cmp ebx, 0x30
jl 0x423d70
cmp ebx, 0x39
jle 0x423d79
cmp ebx, 0x2e
jne 0x42488d
mov ebx, dword [ebp - 0x10]
movsx eax, byte [ebx + 2]
add ebx, 2
push eax
push 0x49da50
mov dword [ebp - 8], ebx
call fcn.00487e91
add esp, 8
test eax, eax
jne 0x423db2
movsx eax, byte [ebx + 1]
inc ebx
push eax
push 0x49da50
call fcn.00487e91
add esp, 8
test eax, eax
je 0x423d98
mov dword [ebp - 8], ebx
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x423dc4
cmp ebx, dword [eax]
jae 0x42488d
mov ebx, dword [ebp - 8]
mov ecx, ebx
mov al, byte [ecx]
cmp al, 0x20
je 0x423dd0
cmp al, 9
jne 0x423dd3
inc ecx
jmp 0x423dc6
cmp byte [ecx], 0x2a
jne 0x423de5
cmp byte [ecx + 1], 0x2a
je 0x42488d
mov ebx, dword [ebp - 8]
mov bl, byte [ebx]
cmp bl, 0x2d
je 0x423df5
cmp bl, 0x2b
jne 0x423e8f
mov eax, dword [ebp - 8]
movzx ebx, byte [eax - 1]
test ebx, 0xffffff80
jne 0x423e16
push 2
push ebx
call fcn.004883de
add esp, 8
test eax, eax
je 0x423e16
and ebx, 0xffffffdf
cmp bl, 0x45
jne 0x423e8f
mov ecx, dword [ebp - 0x10]
cmp byte [ecx], 0x30
jne 0x423e45
movzx ebx, byte [edi]
test ebx, 0xffffff80
jne 0x423e40
push 2
push ebx
call fcn.004883de
add esp, 8
test eax, eax
je 0x423e40
and ebx, 0xffffffdf
cmp bl, 0x58
je 0x423e8f
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0x2d
mov ecx, dword [ebp - 8]
jne 0x423e80
cmp byte [edi], 0x30
jne 0x423e80
movzx edi, byte [eax + 2]
test edi, 0xffffff80
jne 0x423e73
push 2
push edi
call fcn.004883de
add esp, 8
test eax, eax
je 0x423e73
and edi, 0xffffffdf
mov eax, edi
cmp al, 0x58
je 0x423e8f
mov ecx, dword [ebp - 8]
lea esp, [esp]
mov al, byte [ecx + 1]
inc ecx
cmp al, 0x30
jl 0x423e8c
cmp al, 0x39
jle 0x423e80
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
test eax, eax
je 0x423eb9
mov edx, dword [ebp - 0x18]
cmp dword [ebp + edx - 0x2848], 0xf
jge 0x423eb9
cmp eax, 0x1fe
jg 0x425ae4
inc eax
mov dword [esi + 8], 0x2b
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 0x424a98
cmp eax, 0xffffffff
jne 0x423ef2
mov eax, ecx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x423ee7
sub eax, edx
mov ebx, eax
lea esi, [ebx + 1]
lea eax, [esi - 1]
cmp eax, 0x7fff
ja 0x423f59
cmp dword [0x4ad204], 0
jne 0x423f16
call fcn.00471130
mov dword [0x4ad204], eax
test eax, eax
je 0x423f59
mov ecx, dword [0x4ad208]
cmp esi, dword [ecx + 8]
jbe 0x423f33
call fcn.00471130
mov ecx, dword [0x4ad208]
mov dword [ecx + 0xc], eax
test eax, eax
je 0x423f59
mov edi, dword [ecx + 4]
mov eax, esi
and eax, 3
mov dword [0x4ad20c], edi
je 0x423f48
sub esi, eax
add esi, 4
sub dword [ecx + 8], esi
lea edx, [esi + edi]
mov dword [ecx + 4], edx
test edi, edi
jne 0x424a80
mov eax, dword [ebp - 0x10]
push eax
push 0x49c0a0
mov ecx, 0x4ad268
call fcn.0042f2b0
xor edi, edi
jmp 0x424a9d
mov edi, dword [ebp - 0xc]
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x12
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
cmp ebx, 0x3d
jne 0x423fb1
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x17
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
cmp ebx, 0x2f
jne 0x423ff5
cmp byte [ecx + 2], 0x3d
jne 0x423fda
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
lea edi, [ecx + 2]
inc edi
mov dword [esi + 8], 0x18
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x35
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
mov edi, dword [ebp - 0xc]
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x34
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
cmp ebx, 0x3d
jne 0x424033
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x16
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
cmp ebx, 0x2a
jne 0x424053
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x3b
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
cmp dword [ebp - 4], 0
je 0x424068
cmp dword [ebp + eax - 0x2848], 0xf
mov eax, 0x33
jl 0x42406d
mov eax, 0x3a
mov edi, dword [ebp - 0xc]
inc dword [ebp - 4]
inc edi
mov dword [esi + 8], eax
mov eax, dword [ebp - 4]
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
cmp ebx, 0x3d
jne 0x4240a7
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x26
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
mov edi, dword [ebp - 0xc]
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x37
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
cmp dword [ebp - 4], 0
je 0x424105
cmp dword [ebp + eax - 0x2848], 0xf
jge 0x424105
mov eax, dword [ebp - 0x10]
movsx eax, byte [eax - 1]
push eax
push 0x49e560
call fcn.00487e91
add esp, 8
test eax, eax
je 0x424105
cmp dword [ebp - 4], 0x1fe
jg 0x425ae4
inc dword [ebp - 4]
mov dword [esi + 8], 0x2b
mov ecx, dword [ebp - 4]
mov edi, dword [ebp - 0xc]
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov esi, dword [ebp - 0x20]
add ecx, ecx
inc edi
mov dword [ebp + ecx*8 - 0x2838], 0xf
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
mov edi, dword [ebp - 0xc]
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0xc
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
cmp dword [ebp - 4], 0
je 0x42419c
cmp dword [ebp + eax - 0x2848], 0xb
jne 0x42419c
lea ebx, [ebx]
mov al, byte [edi]
cmp al, 0x20
je 0x42416a
cmp al, 9
jne 0x42416d
inc edi
jmp 0x424160
cmp byte [edi], 0x5d
je 0x42419c
dec dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov edi, dword [ebp - 0xc]
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov esi, dword [ebp - 0x20]
add ecx, ecx
inc edi
mov dword [ebp + ecx*8 - 0x2838], 0x10
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
mov eax, 0xc
call fcn.004710c0
mov edi, eax
test edi, edi
je 0x424fef
cmp dword [ebp - 4], 0
je 0x4241d0
mov edx, dword [ebp - 0x18]
cmp dword [ebp + edx - 0x2848], 0xf
jge 0x4241d0
mov dword [edi + 4], 0x4a9ab8
mov byte [edi + 9], 1
jmp 0x4241ea
push 0
push 0
push 0x49e1b8
mov ecx, 0x4ad268
call fcn.00420ab0
mov dword [edi + 4], eax
mov byte [edi + 9], 0
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 4]
inc dword [ebp - 4]
mov dword [edi], eax
mov eax, dword [ebp - 4]
mov byte [edi + 8], 1
mov dword [esi], edi
mov edi, dword [ebp - 0xc]
mov esi, dword [ebp - 0x20]
add ecx, ecx
inc edi
mov dword [ebp + ecx*8 - 0x2838], 0x10
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
mov edi, dword [ebp - 0xc]
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0xd
mov dword [esi + 4], ecx
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
cmp dword [ebp - 4], 0
je 0x424251
cmp dword [ebp + eax - 0x2848], 0xf
jl 0x425000
mov eax, 0xc
call fcn.004710c0
mov ebx, eax
test ebx, ebx
je 0x424fef
push 0
push 0
push 0x49e578
mov ecx, 0x4ad268
call fcn.00420ab0
mov edi, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
inc dword [ebp - 4]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 4]
mov word [ebx + 8], 1
mov dword [ebx], edx
inc edi
mov dword [esi], ebx
mov dword [esi + 8], 0x11
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
mov edi, dword [ebp - 0xc]
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0xe
mov dword [esi + 4], ecx
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
cmp ebx, 0x3d
jne 0x4242e7
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x25
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
mov edi, dword [ebp - 0xc]
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x24
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
sub ebx, 0x3d
je 0x42436a
dec ebx
je 0x42432b
mov edi, dword [ebp - 0xc]
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x27
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
cmp byte [ecx + 2], 0x3d
jne 0x42434f
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
lea edi, [ecx + 2]
inc edi
mov dword [esi + 8], 0x1d
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x30
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x29
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
sub ebx, 0x3c
je 0x4243cd
dec ebx
je 0x4243b2
dec ebx
je 0x42408c
mov edi, dword [ebp - 0xc]
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x28
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x2a
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
cmp byte [ecx + 2], 0x3d
jne 0x4243f1
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
lea edi, [ecx + 2]
inc edi
mov dword [esi + 8], 0x1c
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x2f
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
cmp ebx, 0x26
jne 0x42442c
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x22
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
cmp ebx, 0x3d
jne 0x42444c
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x1b
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
cmp dword [ebp - 4], 0
je 0x424461
cmp dword [ebp + eax - 0x2848], 0xf
mov eax, 0x2e
jl 0x424466
mov eax, 0x39
mov edi, dword [ebp - 0xc]
inc dword [ebp - 4]
inc edi
mov dword [esi + 8], eax
mov eax, dword [ebp - 4]
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
cmp ebx, 0x7c
jne 0x4244a0
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x21
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
cmp ebx, 0x3d
jne 0x4244c0
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x19
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
mov edi, dword [ebp - 0xc]
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x2c
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
cmp ebx, 0x3d
jne 0x4244fe
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x1a
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
mov edi, dword [ebp - 0xc]
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x2d
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
cmp ebx, 0x3d
jne 0x424575
lea eax, [ebx - 0x31]
mov dword [ebp - 0xc], edi
call fcn.004710c0
mov dword [esi], eax
test eax, eax
je 0x424fef
push 0
push 0
push 0x49cde0
mov ecx, 0x4ad268
call fcn.00420ab0
mov ecx, dword [esi]
inc dword [ebp - 4]
mov dword [ecx + 4], eax
mov edx, dword [esi]
mov byte [edx + 8], 1
mov eax, dword [esi]
mov byte [eax + 9], 2
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x40
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
mov edi, dword [ebp - 0xc]
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x38
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
mov edi, dword [ebp - 0xc]
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x20
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
cmp ebx, 0x3d
jne 0x4245d1
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x13
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
mov edi, dword [ebp - 0xc]
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x1f
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x424617
cmp dword [ebp + eax - 0x2848], 0xf
jge 0x424617
cmp ecx, 0x1fe
jg 0x425ae4
inc ecx
mov dword [esi + 8], 0x2b
mov dword [ebp - 4], ecx
mov esi, edi
lea esp, [esp]
mov al, byte [esi]
test al, al
je 0x425011
cmp al, 0x22
jne 0x424633
inc esi
cmp byte [esi], al
jne 0x424636
inc esi
jmp 0x424620
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.00471050
mov dword [ebp + edi*8 - 0x2840], eax
test eax, eax
je 0x424fef
push 0
push 0xffffffffffffffff
push 1
push 0x49e580
push 0x49e584
push eax
xor eax, eax
or ecx, 0xffffffff
call fcn.00474490
add esp, 0x18
mov al, byte [esi]
cmp al, 0x20
je 0x42468c
cmp al, 9
jne 0x42468f
inc esi
jmp 0x424682
mov al, byte [esi]
mov dword [ebp - 0xc], esi
test al, al
je 0x424ab5
movsx eax, al
push eax
push 0x49e588
call fcn.00487e91
add esp, 8
test eax, eax
je 0x424ab5
mov al, byte [esi + 1]
cmp al, 0x3d
je 0x424ab5
cmp al, 0x26
jne 0x4246cc
cmp byte [esi], al
je 0x424ab5
mov eax, dword [ebp - 4]
cmp eax, 0x1fe
jg 0x425ae4
mov esi, dword [ebp - 0x20]
inc eax
mov dword [ebp - 4], eax
inc dword [ebp - 4]
add eax, eax
mov dword [ebp + eax*8 - 0x2838], 0x2b
mov eax, dword [ebp - 4]
xor ebx, ebx
jmp 0x423bb0
cmp byte [ebp - 0x19], 0x2e
jne 0x4248a4
cmp ebx, 0x3d
jne 0x424725
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edi
mov dword [esi + 8], 0x1e
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
cmp ebx, 0x20
je 0x42486b
cmp ebx, 9
je 0x42486b
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x4248a4
cmp dword [ebp + eax - 0x2848], 0xf
lea eax, [ebp + eax - 0x2838]
mov dword [ebp - 0x24], eax
jge 0x4248a4
cmp ecx, 0x1fe
jg 0x425ae4
mov eax, edi
call fcn.004306d0
mov ebx, eax
movsx eax, byte [ebx]
push eax
push 0x49daac
mov dword [ebp - 8], ebx
call fcn.00487e91
add esp, 8
test eax, eax
je 0x425022
cmp ebx, edi
jne 0x424798
cmp byte [ebx], 0x28
jne 0x42502f
lea eax, [esi - 0x10]
lea ecx, [ebp - 0x2840]
mov byte [ebp - 0x19], 0
cmp eax, ecx
jb 0x4247df
mov ecx, 0xb
mov edi, edi
cmp dword [eax + 8], ecx
jne 0x4247c4
sub eax, 0x20
lea edx, [ebp - 0x2840]
cmp eax, edx
jae 0x4247b0
jmp 0x4247df
cmp dword [eax + 8], 8
jge 0x4247d7
lea ecx, [ebp - 0x2840]
cmp eax, ecx
jbe 0x4247d7
sub eax, 0x10
cmp dword [eax + 8], 0x3f
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.00471050
mov dword [esi], eax
test eax, eax
je 0x424fef
mov ebx, 1
add dword [ebp - 4], ebx
lea eax, [ebx + 0xb]
call fcn.004710c0
test eax, eax
je 0x424fef
mov esi, dword [ebp - 8]
dec edi
mov dword [eax], edi
mov word [eax + 8], 0x201
cmp byte [esi], 0x28
jne 0x424839
cmp byte [ebp - 0x19], 0
jne 0x424839
lea edx, [ebx + 0x3d]
mov dword [eax + 4], 0x4a9cb8
jmp 0x424845
mov edx, 0xb
mov dword [eax + 4], 0x4a9ab8
mov ecx, dword [ebp - 4]
inc dword [ebp - 4]
add ecx, ecx
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
xor ebx, ebx
jmp 0x423bb0
cmp dword [ebp - 4], 0
je 0x42503d
mov cl, byte [ecx - 1]
cmp cl, 0x20
je 0x424886
cmp cl, 9
jne 0x42503d
mov dword [esi + 8], 0x2b
mov edi, dword [ebp - 0xc]
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov esi, dword [ebp - 0x20]
inc edi
mov dword [ebp - 0xc], edi
xor ebx, ebx
jmp 0x423bb0
mov eax, edi
mov dword [ebp - 8], eax
movsx eax, byte [eax]
push eax
push 0x49daac
call fcn.00487e91
add esp, 8
test eax, eax
jne 0x4248dc
mov edi, edi
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
movsx eax, byte [eax]
push eax
push 0x49daac
call fcn.00487e91
add esp, 8
test eax, eax
je 0x4248c0
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x4248ee
mov ecx, dword [ebp - 8]
cmp ecx, dword [eax]
jae 0x424b7a
mov edx, dword [ebp - 8]
cmp byte [edx], 0x2e
jne 0x424930
mov eax, edx
inc eax
mov dword [ebp - 8], eax
movsx eax, byte [eax]
push eax
push 0x49daac
call fcn.00487e91
add esp, 8
test eax, eax
jne 0x42492d
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
movsx eax, byte [eax]
push eax
push 0x49daac
call fcn.00487e91
add esp, 8
test eax, eax
je 0x424911
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
mov eax, edx
sub eax, ecx
cmp eax, 3
jne 0x423de2
mov al, byte [ecx]
cmp al, 0x6e
je 0x42494e
cmp al, 0x4e
jne 0x423de2
mov ecx, edx
mov al, byte [ecx]
cmp al, 0x20
je 0x42495a
cmp al, 9
jne 0x42495d
inc ecx
jmp 0x424950
cmp byte [ecx], 0x3a
je 0x423de2
cmp ebx, 0x6f
je 0x424970
cmp ebx, 0x4f
jne 0x424986
mov eax, dword [ebp - 0x10]
mov al, byte [eax + 2]
cmp al, 0x74
je 0x424a66
cmp al, 0x54
je 0x424a66
cmp ebx, 0x65
je 0x424994
cmp ebx, 0x45
jne 0x423de2
mov ecx, dword [ebp - 0x10]
mov al, byte [ecx + 2]
cmp al, 0x77
je 0x4249a6
cmp al, 0x57
jne 0x423de2
mov eax, dword [ebp - 4]
test eax, eax
je 0x4249d0
mov edx, dword [ebp - 0x18]
cmp dword [ebp + edx - 0x2848], 0xf
jge 0x4249d0
cmp eax, 0x1fe
jg 0x425ae4
inc eax
mov dword [esi + 8], 0x2b
mov dword [ebp - 4], eax
cmp dword [0x4ad204], 0
jne 0x4249eb
call fcn.00471130
mov dword [0x4ad204], eax
test eax, eax
je 0x424fef
mov ecx, dword [0x4ad208]
cmp dword [ecx + 8], 0xc
jae 0x424a0d
call fcn.00471130
mov ecx, dword [0x4ad208]
mov dword [ecx + 0xc], eax
test eax, eax
je 0x424fef
mov eax, dword [ecx + 4]
add dword [ecx + 8], 0xfffffff4
lea edx, [eax + 0xc]
mov dword [0x4ad20c], eax
mov dword [ecx + 4], edx
test eax, eax
je 0x424fef
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
mov esi, dword [ebp - 0x20]
mov dword [eax], ecx
mov ecx, dword [ebp - 4]
inc dword [ebp - 4]
add ecx, ecx
mov dword [eax + 4], 0x4a9b78
mov word [eax + 8], 0x101
mov dword [ebp + ecx*8 - 0x2840], eax
mov eax, dword [ebp - 4]
mov dword [ebp + ecx*8 - 0x2838], 0x3f
mov dword [ebp - 0xc], edx
xor ebx, ebx
jmp 0x423bb0
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [esi + 8], 0x23
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], edx
xor ebx, ebx
jmp 0x423bb0
test ebx, ebx
je 0x424a92
mov ecx, dword [ebp - 0x10]
push ebx
push ecx
push edi
call fcn.0048f790
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x424a9d
mov edi, 0x49a8ad
mov edx, dword [ebp - 0x18]
mov dword [ebp + edx - 0x2840], edi
test edi, edi
je 0x424fef
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov esi, dword [ebp - 0x20]
xor ebx, ebx
jmp 0x423bb0
cmp esi, ebx
je 0x42504d
cmp eax, 0x1ff
jg 0x425ae4
cmp byte [esi + 8], 0
je 0x424b29
cmp eax, ebx
je 0x424b0c
mov ecx, eax
add ecx, ecx
cmp dword [ebp + ecx*8 - 0x2848], 0xf
lea ecx, [ebp + ecx*8 - 0x2838]
jge 0x424b0c
cmp eax, 0x1fe
jg 0x425ae4
inc eax
mov dword [ecx], 0x2b
mov dword [ebp - 4], eax
add eax, eax
mov dword [ebp + eax*8 - 0x2838], 0x3e
mov dword [ebp + eax*8 - 0x2840], esi
mov byte [esi + 9], 0
jmp 0x424fcd
mov ecx, dword [esi]
mov dl, byte [ecx]
cmp dl, byte [0x4a88e2]
jne 0x424ebe
mov eax, dword [ebp - 0x20]
movzx esi, word [eax + 0xa]
movsx eax, byte [esi + ecx]
add esi, ecx
push eax
push 0x49daac
mov dword [ebp - 8], esi
call fcn.00487e91
add esp, 8
test eax, eax
jne 0x424b7a
jmp 0x424b60
movsx eax, byte [esi + 1]
inc esi
push eax
push 0x49daac
call fcn.00487e91
add esp, 8
test eax, eax
je 0x424b60
mov dword [ebp - 8], esi
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x424bac
mov edx, ecx
add edx, edx
cmp dword [ebp + edx*8 - 0x2848], 0xf
lea eax, [ebp + edx*8 - 0x2838]
jge 0x424bac
cmp ecx, 0x1fe
jg 0x425ae4
inc ecx
mov dword [eax], 0x2b
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 ebx, eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x20], ebx
test edx, edx
je 0x424c9e
cmp byte [edx], 0
je 0x424c9e
cmp eax, 0xffffffff
jne 0x424bfe
mov eax, edx
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x424bf0
sub eax, edx
mov ebx, eax
mov dword [ebp - 0x20], eax
inc ebx
lea eax, [ebx - 1]
cmp eax, 0x7fff
ja 0x424c5f
cmp dword [0x4ad204], 0
jne 0x424c20
call fcn.00471130
mov dword [0x4ad204], eax
test eax, eax
je 0x424c5f
mov edi, dword [0x4ad208]
cmp ebx, dword [edi + 8]
jbe 0x424c3d
call fcn.00471130
mov edi, dword [0x4ad208]
mov dword [edi + 0xc], eax
test eax, eax
je 0x424c5f
mov esi, dword [edi + 4]
mov eax, ebx
and eax, 3
mov dword [0x4ad20c], esi
je 0x424c52
sub ebx, eax
add ebx, 4
sub dword [edi + 8], ebx
lea ecx, [ebx + esi]
mov dword [edi + 4], ecx
test esi, esi
jne 0x424c79
mov edx, dword [ebp - 0xc]
push edx
push 0x49c0a0
mov ecx, 0x4ad268
call fcn.0042f2b0
mov ecx, dword [ebp - 0x18]
xor eax, eax
jmp 0x424ca3
cmp dword [ebp - 0x20], 0
je 0x424c90
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xc]
push eax
push ecx
push esi
call fcn.0048f790
add esp, 0xc
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov byte [esi + edx], 0
mov eax, esi
jmp 0x424ca9
mov eax, 0x49a8ad
mov edi, dword [0x4ad208]
mov dword [ebp + ecx - 0x283c], eax
test eax, eax
je 0x424fef
mov ebx, dword [ebp - 0x28]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x10], ebx
add ebx, 0xc
test eax, eax
je 0x424cde
mov ecx, dword [ebp - 8]
jmp 0x424cd0
cmp eax, ecx
jae 0x424cde
mov eax, dword [ebx + 0xc]
add ebx, 0xc
test eax, eax
jne 0x424cd0
mov ecx, ebx
sub ecx, dword [ebp - 0x10]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea esi, [eax + eax*2]
add esi, esi
add esi, esi
lea eax, [esi + 0xc]
lea ecx, [eax - 1]
sub ebx, 0xc
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x28], eax
cmp ecx, 0x7fff
ja 0x424fef
cmp dword [0x4ad204], 0
jne 0x424d87
push 0x10
call fcn.00488595
mov esi, eax
add esp, 4
test esi, esi
je 0x424d54
push 0x8000
mov dword [esi + 0xc], 0
call fcn.00487059
add esp, 4
mov dword [esi + 4], eax
mov dword [esi], eax
test eax, eax
jne 0x424d5e
push esi
call fcn.00486c18
add esp, 4
mov edi, dword [0x4ad208]
xor esi, esi
jmp 0x424d73
inc dword [0x4ad210]
mov edi, esi
mov dword [esi + 8], 0x8000
mov dword [0x4ad208], edi
mov dword [0x4ad204], esi
test esi, esi
je 0x424fef
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp - 0x20]
cmp eax, dword [edi + 8]
jbe 0x424df2
push 0x10
call fcn.00488595
mov esi, eax
add esp, 4
test esi, esi
je 0x424dc2
push 0x8000
mov dword [esi + 0xc], 0
call fcn.00487059
add esp, 4
mov dword [esi + 4], eax
mov dword [esi], eax
test eax, eax
jne 0x424dcc
push esi
call fcn.00486c18
add esp, 4
mov edi, dword [0x4ad208]
xor esi, esi
jmp 0x424de1
inc dword [0x4ad210]
mov edi, esi
mov dword [esi + 8], 0x8000
mov dword [0x4ad208], edi
mov dword [edi + 0xc], esi
test esi, esi
je 0x424fef
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp - 0x20]
mov edx, dword [edi + 4]
mov ecx, eax
and ecx, 3
mov dword [0x4ad20c], edx
je 0x424e07
sub eax, ecx
add eax, 4
sub dword [edi + 8], eax
add edx, eax
cmp dword [0x4ad20c], 0
mov dword [edi + 4], edx
je 0x424fef
mov eax, dword [ebp - 0x10]
mov edi, dword [0x4ad20c]
push esi
push eax
push edi
call fcn.0048f790
mov ecx, dword [ebp - 0x18]
add esp, 0xc
mov dword [esi + edi], 0
cmp dword [edi], 0
mov eax, edi
je 0x424e57
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 0x424e44
mov edx, dword [ebp - 8]
mov esi, dword [ebp - 4]
mov dword [ebp + ecx - 0x2840], edi
cmp byte [edx], 0x28
jne 0x424eb2
test esi, esi
je 0x424e76
mov ecx, dword [ebp - 0x24]
cmp dword [ecx - 0x10], 0x3f
je 0x424eb2
cmp esi, 0x1fe
jg 0x425ae4
mov byte [eax + 8], 1
mov dword [eax + 4], 0
mov cl, byte [edi + 9]
mov byte [eax + 9], cl
inc esi
mov ecx, esi
add ecx, ecx
mov dword [ebp + ecx*8 - 0x2838], 0x3e
mov dword [ebp + ecx*8 - 0x2840], eax
mov dword [ebp - 0xc], edx
jmp 0x424fda
mov byte [eax + 8], 0
mov dword [ebp - 0xc], edx
jmp 0x424fda
cmp eax, ebx
je 0x424eed
mov edx, eax
shl edx, 4
cmp dword [ebp + edx - 0x2848], 0xf
lea ecx, [ebp + edx - 0x2838]
jge 0x424eed
cmp eax, 0x1fe
jg 0x425ae4
inc eax
mov dword [ecx], 0x2b
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 0x424f0d
mov edx, dword [ecx + 0xc]
mov dl, byte [edx + 0x17]
jmp 0x424f0f
xor ebx, ebx
cmp dl, 1
jne 0x424f2c
cmp dword [0x4ac434], ebx
je 0x424f2c
mov dword [ebp + eax*8 - 0x2838], 4
jmp 0x424fc6
mov ecx, dword [ecx + 0x10]
cmp ecx, 0x4428b0
jne 0x424f86
mov dword [ebp + eax*8 - 0x2838], 1
mov eax, dword [esi]
movzx esi, byte [eax]
test esi, 0xffffff80
jne 0x424f61
push 2
push esi
call fcn.004883de
add esp, 8
test eax, eax
je 0x424f61
and esi, 0xffffffdf
mov eax, esi
cmp al, 0x54
jne 0x424f78
mov esi, dword [ebp - 0x20]
mov eax, 1
xor ecx, ecx
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x424fcd
mov esi, dword [ebp - 0x20]
xor eax, eax
xor ecx, ecx
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x424fcd
cmp ecx, 0x443460
jne 0x424fa4
mov dword [ebp + eax*8 - 0x2838], 1
mov dword [edi], 4
mov dword [edi + 4], ebx
jmp 0x424fcd
cmp ecx, 0x443280
jne 0x424fbb
mov dword [ebp + eax*8 - 0x2838], ebx
mov dword [edi], 0x49a8ad
jmp 0x424fcd
mov dword [ebp + eax*8 - 0x2838], 7
mov dword [ebp + eax*8 - 0x283c], ebx
movzx ecx, word [esi + 0xa]
add dword [ebp - 0xc], ecx
mov ebx, dword [ebp - 0x28]
mov esi, dword [ebp - 4]
add ebx, 0xc
inc esi
mov dword [ebp - 0x28], ebx
mov ecx, ebx
mov dword [ebp - 4], esi
mov eax, esi
xor ebx, ebx
jmp 0x423b80
push 0x49a8ad
push 0
push 0x49c0a0
jmp 0x425af0
push 0x49a8ad
push 0
push 0x49e568
jmp 0x425af0
push 0x49a8ad
push 0
push 0x49da68
jmp 0x425af0
push ebx
push 0
push 0x49e590
jmp 0x425af0
dec edi
push edi
push 0
push 0x49db0c
jmp 0x425af0
mov edx, dword [ebp - 0x10]
push edx
push 0
push 0x49db0c
jmp 0x425af0
cmp eax, 0x1ff
jg 0x425ae4
add eax, eax
mov dword [ebp + eax*8 - 0x2838], 0x41
lea eax, [ebp - 0x38]
mov dword [ebp - 0x30], 8
mov dword [ebp - 0x840], eax
mov dword [ebp - 4], 1
lea esi, [ebp - 0x2840]
mov dword [ebp - 8], ebx
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
jmp 0x425090
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 0x425121
cmp edi, 7
jne 0x425108
cmp dword [esi + 4], 0
jne 0x425108
mov eax, dword [esi]
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x4250c9
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
je 0x4250e0
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x4250db
mov eax, dword [eax + 0xc]
mov cl, byte [eax + 0x17]
cmp cl, 2
jne 0x425108
mov eax, dword [esi + 0x18]
cmp eax, 0x1e
jg 0x4250ed
cmp eax, 0x13
jge 0x425101
cmp eax, 9
je 0x425101
cmp eax, 0xa
je 0x425101
cmp ebx, 0x3c
je 0x425101
cmp ebx, 0x3d
jne 0x425108
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
jmp 0x425088
lea eax, [edi - 0xb]
cmp eax, 0x36
ja case.0x425134.19
movzx eax, byte [eax + 0x425be8]
jmp dword [eax*4 + 0x425bc4]
cmp edi, 0x12
je 0x42517b
mov eax, ebx
sub eax, edi
cmp eax, 3
je 0x42517b
cmp ebx, 8
je 0x425160
cmp ebx, 0x11
jg 0x42561b
cmp ebx, 0xf
jl 0x42561b
cmp edi, 0xc
jne 0x4258a4
push 0x49a8ad
mov eax, 0x49e5b4
push 0
push eax
jmp 0x425af0
test ecx, ecx
je 0x42530c
lea eax, [ebx - 0xf]
cmp eax, 2
ja 0x42530c
mov eax, dword [ecx + 4]
mov dword [ebp - 0x18], eax
cmp edi, 0x12
je 0x4251a6
cmp dword [esi - 8], ebx
je 0x42523b
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x4251c7
movzx ecx, byte [ecx + 9]
cmp ecx, dword [eax + 0x10]
jl 0x4251c7
cmp byte [eax + 0x3e], 0
je 0x4258c0
mov dword [ebp - 0x18], 0
mov eax, dword [esi - 8]
cmp eax, 0x12
je 0x425294
cmp eax, ebx
je 0x425294
cmp dword [ebp - 0x18], 0
je 0x425225
mov eax, dword [ebp - 0x18]
cmp dword [eax + 8], 0x445b40
jne 0x425225
mov ecx, dword [ebp - 8]
cmp byte [ecx + 9], 0
jne 0x425225
cmp dword [esi - 8], 0
jne 0x425225
cmp dword [esi - 0x18], 0xf
jne 0x425225
mov edx, dword [esi - 0x10]
push 0
push edx
call fcn.00445950
add esp, 8
test eax, eax
je 0x425222
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 0x42523b
test al, 1
jne 0x4258d2
cmp dword [ebp - 0x18], 0
je 0x42530c
cmp edi, 0xc
jne 0x425315
mov eax, dword [ebp - 8]
movzx ecx, byte [eax + 9]
mov eax, dword [ebp - 0x18]
cmp ecx, dword [eax + 0x14]
jge 0x42526a
mov ecx, dword [ebp - 8]
cmp byte [ecx + 8], 2
jne 0x4258e3
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 0x425090
jmp 0x42561b
xor ecx, ecx
cmp edi, 0x12
jne 0x4252dc
mov edi, dword [ebp - 0x14]
mov ebx, 3
jmp 0x4252b0
mov dword [ebp + edi*4 - 0x3040], esi
mov eax, dword [ebp + edi*4 - 0x3040]
mov dword [eax + 8], ebx
mov dword [eax], 0x49a8ad
add esi, 0x10
mov dword [eax + 0xc], 0
inc ecx
inc edi
cmp dword [esi + 8], 0x12
je 0x4252b0
mov dword [ebp - 0x14], edi
mov eax, dword [esi + 8]
cmp eax, 0xe
jg 0x4252ed
cmp eax, 0xc
jge 0x4258f5
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
test edi, edi
je 0x425304
movzx ebx, byte [eax + 9]
cmp ebx, dword [edi + 0x14]
jl 0x4258f5
add byte [eax + 9], cl
jmp 0x425088
cmp edi, 0xc
je 0x42526a
jle 0x4253b6
cmp edi, 0xe
jg 0x4253b6
mov ecx, dword [ebp + edx*4 - 0x844]
mov dword [ecx + 8], 0x3e
mov eax, dword [esi + 4]
cmp byte [eax + 1], 0x28
jne 0x4253a8
cmp edi, 0xe
je 0x425907
mov edi, dword [ebp - 8]
cmp dword [edi + 4], 0x4a9ab8
jne 0x425907
mov al, byte [edi + 9]
cmp al, 2
ja 0x425907
cmp al, 1
jne 0x425383
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0x14]
mov byte [edi + 9], 2
mov dword [esi + 8], 3
mov dword [esi], 0x49a8ad
mov dword [eax], esi
mov dword [esi + 0xc], 0
mov eax, dword [ecx]
add esi, 0x10
mov dword [eax + 4], 0x4a9cb8
mov ecx, dword [ecx + 4]
mov dword [ebp + edx*4 - 0x840], esi
inc edx
mov dword [esi + 4], ecx
mov dword [ebp - 4], edx
add esi, 0x10
jmp 0x425088
mov edx, dword [ecx + 4]
add esi, 0x10
mov dword [ebp - 8], edx
jmp 0x42561b
mov al, byte [ebx + 0x4a9ec0]
cmp al, byte [edi + 0x4a9ec0]
jae 0x42561b
cmp dword [ebp - 8], 0
jne 0x425439
mov dword [ebp + edx*4 - 0x840], esi
inc edx
cmp dword [esi + 0x18], 0x41
lea eax, [esi + 0x10]
mov dword [ebp - 4], edx
je 0x425439
mov edi, 0x13
cmp dword [eax + 0x18], 0x24
jne 0x425439
mov ecx, dword [eax + 8]
cmp ecx, 4
je 0x42542d
cmp ecx, 7
jne 0x425439
cmp dword [eax + 4], 0
jne 0x425439
mov ecx, dword [eax]
mov dl, byte [ecx + 0x17]
test dl, dl
jne 0x42540f
mov edx, dword [ecx + 0xc]
mov dl, byte [edx + 0x17]
cmp dl, 1
je 0x425426
mov dl, byte [ecx + 0x17]
test dl, dl
jne 0x425421
mov ecx, dword [ecx + 0xc]
mov dl, byte [ecx + 0x17]
cmp dl, 2
jne 0x425439
mov dword [eax + 8], 4
mov dword [eax + 0x18], edi
add eax, 0x20
cmp dword [eax + 8], 0x41
jne 0x4253e7
add esi, 0x10
jmp 0x425085
mov dword [ebp + edx*4 - 0x840], esi
inc edx
add esi, 0x10
mov dword [esi + 4], ecx
cmp edi, 0x3e
jne 0x42546d
mov ecx, dword [esi - 0x10]
mov dword [ebp + edx*4 - 0x840], esi
inc edx
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
add esi, 0x10
jmp 0x425090
cmp ebx, 0x3f
jne 0x425498
mov eax, dword [ebp + edx*4 - 0x844]
mov dword [ebp + edx*4 - 0x840], esi
mov dword [eax + 8], 0x3e
mov ecx, dword [eax]
inc edx
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
add esi, 0x10
jmp 0x425090
mov dword [ebp + edx*4 - 0x840], esi
xor ecx, ecx
inc edx
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
add esi, 0x10
jmp 0x425090
mov dword [esi + 4], ecx
mov ecx, dword [esi]
mov dword [ebp + edx*4 - 0x840], esi
inc edx
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
add esi, 0x10
jmp 0x425090
mov dword [ebp + edx*4 - 0x840], esi
inc edx
mov dword [esi + 8], 0x3e
mov dword [ebp - 4], edx
add esi, 0x10
jmp 0x42561b
cmp ebx, 8
je 0x425919
test ecx, ecx
je 0x425502
cmp ebx, 0x11
jne 0x425502
inc byte [ecx + 9]
add esi, 0x10
jmp 0x425090
cmp ebx, 0xf
je 0x42592a
cmp ebx, 0x10
je 0x42593b
cmp ebx, 0x11
je 0x42594c
cmp ebx, 0x20
jne 0x42561b
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
mov dword [ebp - 4], edx
add esi, 0x10
jmp 0x425090
cmp ebx, 8
je 0x42595d
cmp ebx, 0xf
je 0x425ac8
cmp ebx, 0x10
je 0x425ad6
cmp ebx, 0x11
jne 0x42561b
push 0x49a8ad
push 0
push 0x49d540
jmp 0x425af0
test ecx, ecx
je case.0x425134.19
mov eax, dword [esi + 0x18]
cmp eax, 0xc
je 0x425590
cmp eax, 0xd
jne case.0x425134.19
mov byte [ecx + 8], 2
add esi, 0x10
jmp 0x425090
cmp edi, 0x1e
jg 0x4255a6
cmp edi, 0x13
jge 0x4255b0
cmp edi, 9
je 0x4255b0
cmp edi, 0xa
jne 0x4255c7
lea ecx, [ebp - 0x2840]
cmp esi, ecx
jbe 0x4255c7
cmp dword [esi - 8], 4
jne 0x4255c7
mov dword [esi - 0xc], 1
movzx eax, byte [edi + 0x4a9ec0]
mov ecx, eax
and ecx, 0x80000001
jns 0x4255dd
dec ecx
or ecx, 0xfffffffe
inc ecx
add ecx, eax
movzx eax, byte [ebx + 0x4a9ec0]
cmp eax, ecx
jl 0x42587a
lea ecx, [edi - 0x13]
cmp ecx, 0xb
ja 0x4255ff
cmp ebx, 0x3a
jne 0x42587a
cmp ebx, 0x3b
jne 0x42561b
cmp edi, 0x36
jl 0x425612
cmp edi, 0x3a
jle 0x42587a
cmp edi, 0x23
je 0x42587a
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 - 0x3c]
mov dword [ecx], ebx
cmp eax, 4
ja case.default.0x425642
jmp dword [eax*4 + 0x425c20]
mov edi, dword [ebx]
mov ecx, dword [edi + 4]
mov eax, dword [esi + 8]
cmp ecx, 0x4a9ab8
je 0x425665
cmp ecx, 0x4a9cb8
jne 0x425872
lea ecx, [eax - 0x13]
cmp ecx, 0xb
ja 0x42572c
cmp eax, 0x13
je 0x425711
movzx edi, byte [edi + 9]
cmp edi, 2
je 0x4256b7
mov eax, 0x10
call fcn.00493660
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 0x4256ba
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.00493660
mov edx, dword [ebp - 0x28]
mov edi, esp
mov eax, 0xc
mov dword [edx], edi
mov dword [edi + 8], 0x3e
call fcn.004710c0
mov dword [edi], eax
test eax, eax
je 0x424fef
mov dword [eax + 4], 0x4a9b38
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 0x425714
dec dword [ebp - 0x14]
mov ebx, dword [ebx]
mov dword [esi], ebx
mov dword [ebx + 4], 0x4a9af8
mov eax, dword [esi]
inc byte [eax + 9]
inc dword [ebp - 0x14]
jmp 0x425085
cmp eax, 8
jl 0x425872
cmp eax, 9
je 0x425780
cmp eax, 0xa
je 0x425793
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + ecx*4 - 0x844]
mov eax, dword [edx + 8]
cmp eax, 0x3c
je 0x42576d
cmp eax, 0x3d
jne 0x425872
dec dword [ebp - 4]
inc dword [ebp - 0x14]
mov eax, 0x4a9bf8
mov dword [edi + 4], eax
jmp 0x425085
dec dword [ebp - 4]
inc dword [ebp - 0x14]
mov eax, 0x4a9bb8
mov dword [edi + 4], eax
jmp 0x425085
mov eax, 0x4a9c38
add esi, 0x10
inc dword [ebp - 0x14]
mov dword [edi + 4], eax
jmp 0x425085
mov eax, 0x4a9c78
add esi, 0x10
inc dword [ebp - 0x14]
mov dword [edi + 4], eax
jmp 0x425085
cmp dword [ebp - 0x14], edx
je 0x425872
mov ecx, dword [ecx - 4]
cmp dword [ecx + 8], 4
jne 0x425872
inc dword [ebp - 0x14]
mov dword [ecx + 4], 1
jmp 0x425085
lea eax, [edi - 0x13]
cmp eax, 0xb
ja 0x425872
cmp dword [ebx], edx
je 0x425872
cmp edi, 0x13
je case.0x425642.63
lea eax, [edi - 0x14]
cmp eax, 0xa
ja case.default.0x4257f0
jmp dword [eax*4 + 0x425c34]
mov edi, 0x31
jmp case.default.0x4257f0
mov edi, 0x32
jmp case.default.0x4257f0
mov edi, 0x33
jmp case.default.0x4257f0
mov edi, 0x34
jmp case.default.0x4257f0
mov edi, 0x35
jmp case.default.0x4257f0
mov edi, 0x2c
jmp case.default.0x4257f0
mov edi, 0x2d
jmp case.default.0x4257f0
mov edi, 0x2e
jmp case.default.0x4257f0
mov edi, 0x2f
jmp case.default.0x4257f0
mov edi, 0x30
jmp case.default.0x4257f0
mov edi, 0x2b
mov eax, 0x10
call fcn.00493660
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], 0x3e
inc dword [ebp - 0x14]
jmp 0x425085
add edi, 0xffffffe0
cmp edi, 2
ja 0x425891
cmp dword [ebp - 0x14], 0
je 0x425891
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax - 4]
mov dword [ecx + 0xc], esi
mov dword [ebp + edx*4 - 0x840], esi
inc edx
mov dword [ebp - 4], edx
add esi, 0x10
jmp 0x425088
mov eax, 0x49e5c4
cmp edi, 0xd
je 0x4258b3
mov eax, 0x49e40c
push 0x49a8ad
push 0
push eax
jmp 0x425af0
mov edx, dword [ebp - 8]
mov eax, dword [edx]
push eax
push 0
push 0x49e5d4
jmp 0x425af0
push 0x49a8ad
push 0
push 0x49e5fc
jmp 0x425af0
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
push edx
push 0
push 0x49c450
jmp 0x425af0
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
push 0
push 0x49dcbc
jmp 0x425af0
mov edx, dword [ebp - 8]
mov eax, dword [edx]
push eax
push 0
push 0x49e620
jmp 0x425af0
push 0x49a8ad
push 0
push 0x49e640
jmp 0x425af0
push 0x49a8ad
push 0
push 0x49e65c
jmp 0x425af0
push 0x49a8ad
push 0
push 0x49e674
jmp 0x425af0
push 0x49a8ad
push 0
push 0x49e68c
jmp 0x425af0
mov esi, dword [ebp - 0x14]
shl esi, 4
lea eax, [esi + 0x10]
mov dword [ebp - 0x28], esi
call fcn.004710c0
mov edi, dword [ebp + 0xc]
xor ebx, ebx
mov dword [edi + 0xc], eax
cmp eax, ebx
jne 0x42598a
push 0x49a8ad
push ebx
push 0x49c0a0
jmp 0x425af0
cmp dword [ebp - 0x14], ebx
jle 0x425aa9
mov dword [ebp - 0x24], ebx
jmp 0x4259a0
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 0x425a72
mov eax, dword [esi]
push 0
push 1
push 0
push 1
call fcn.00473bb0
add esp, 0x10
cmp eax, 1
je 0x4259f0
mov dword [esi + 4], 0
jmp 0x425a72
cmp dword [0x4ad204], 0
jne 0x425a07
call fcn.00471130
mov dword [0x4ad204], eax
test eax, eax
je 0x425a37
mov ecx, dword [0x4ad208]
cmp dword [ecx + 8], 8
jae 0x425a25
call fcn.00471130
mov ecx, dword [0x4ad208]
mov dword [ecx + 0xc], eax
test eax, eax
je 0x425a37
mov eax, dword [ecx + 4]
add dword [ecx + 8], 0xfffffff8
lea edx, [eax + 8]
mov dword [0x4ad20c], eax
mov dword [ecx + 4], edx
mov dword [esi + 4], eax
test eax, eax
je 0x424fef
mov edi, dword [esi]
mov eax, edi
call fcn.0040e3e0
test al, al
je 0x425a5e
push 0x10
push 0
push edi
call fcn.00488efe
add esp, 0xc
jmp 0x425a67
push edi
call fcn.00488431
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 0x425a98
lea eax, [ebx + 1]
cmp dword [ebp + ebx*4 - 0x303c], ecx
je 0x425a8f
inc eax
cmp dword [ebp + eax*4 - 0x3040], ecx
jne 0x425a85
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 0x4259a0
mov esi, dword [ebp - 0x28]
mov eax, dword [edi + 0xc]
mov dword [eax + esi + 8], 0x41
mov eax, 1
lea esp, [ebp - 0x3050]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push 0x49a8ad
push 0
push 0x49d2dc
jmp 0x425af0
push 0x49a8ad
push 0
push 0x49de68
jmp 0x425af0
push 0x49a8ad
push 0
push 0x49e54c
mov ecx, dword [ebp + 8]
call fcn.0042efe0
lea esp, [ebp - 0x3050]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8