Function at 0x63ddca
Capabilities:
Parse credit card information

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x77f7a7
push eax
mov dword fs:[0], esp
sub esp, 0x24
push ebx
push ebp
push esi
mov esi, ecx
mov ecx, dword [0x9922cc]
push edi
call fcn.0041d3a0
mov ebp, eax
test ebp, ebp
je 0x63e298
mov eax, dword [0x9922cc]
mov ecx, dword [eax + 0x2a0]
cmp ecx, 0xffffffff
mov dword [esp + 0x10], ecx
je 0x63e298
mov ebx, dword [eax + 0x2a4]
mov ecx, dword [eax + 0x2a8]
mov eax, dword [eax + 0x2ac]
cmp eax, 4
jne 0x63de2a
mov eax, 0x5c
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp eax, 9
je 0x63e298
mov eax, dword [esp + 0x10]
push 0
push ecx
push ebx
push eax
mov ecx, ebp
call fcn.004aed20
mov edi, eax
test edi, edi
jne 0x63de61
mov eax, 0x44
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp dword [esi + 0x164], 2
mov eax, 1
je 0x63deac
call dword [0x794284]
cmp eax, dword [0x1b1d584]
jne 0x63dea7
push 0x8d9fc8
mov ecx, 0x991600
call fcn.00409080
test eax, eax
je 0x63dea7
fld dword [0x798570]
push ecx
fstp dword [esp]
push 0
push 0
push 1
mov ecx, eax
call fcn.0040a9a0
mov eax, 1
mov ecx, dword [esp + 0x10]
cmp ecx, 0x44
ja case.0x63df4e.3
movzx ecx, byte [ecx + 0x63f430]
jmp dword [ecx*4 + 0x63f3e4]
cmp dword [esi + 0x164], 0
jne case.0x63df4e.3
cmp dword [esi + 0x16c], 0xa
jne case.0x63df4e.11
cmp dword [edi + 0x10], eax
jne case.0x63df4e.3
push 0
push 0x972794
push 0x972774
push 0
push edi
call fcn.0074d229
add esp, 0x14
test eax, eax
je case.0x63df4e.3
mov eax, dword [eax + 0x18]
test eax, eax
je case.0x63df4e.3
mov ecx, dword [eax]
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov ecx, 0xa
idiv ecx
cmp edx, 7
je case.0x63df4e.11
mov eax, 0x4a
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov eax, dword [esi + 0x164]
cmp eax, 0x44
ja case.0x63df4e.3
movzx edx, byte [eax + 0x63f4e8]
jmp dword [edx*4 + 0x63f478]
push 0
push 0x972918
push 0x972774
push 0
push edi
call fcn.0074d229
mov ebx, eax
mov eax, dword [ebx + 0x18]
add esp, 0x14
test eax, eax
je case.0x63df4e.3
mov ecx, dword [eax + 8]
call fcn.00634100
test al, al
je case.0x63df4e.3
cmp dword [esi + 0x16c], 0xa
jne 0x63dfe7
cmp dword [esi + 0x168], 0
jne 0x63dfe7
cmp dword [edi + 0x10], 1
jne case.0x63df4e.3
push 0
push 0x972794
push 0x972774
push 0
push edi
call fcn.0074d229
add esp, 0x14
test eax, eax
je case.0x63df4e.3
mov eax, dword [eax + 0x18]
test eax, eax
je case.0x63df4e.3
mov ecx, dword [eax]
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov ecx, 0xa
idiv ecx
cmp edx, 7
jne case.0x63df4e.3
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x14]
push eax
push ebx
or esi, 0xffffffff
push 0
mov ecx, ebp
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
call fcn.004ae650
mov eax, dword [esp + 0x10]
cmp eax, esi
je case.0x63df4e.11
mov ecx, dword [esp + 0x14]
cmp ecx, esi
je case.0x63df4e.11
push ecx
push eax
mov ecx, ebp
call fcn.004b3840
test eax, eax
je case.0x63df4e.11
lea eax, [esi + 0x50]
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
push 0
push 0x972918
push 0x972774
push 0
push edi
call fcn.0074d229
add esp, 0x14
test eax, eax
je 0x63de49
mov edi, dword [eax + 0x18]
test edi, edi
je 0x63de49
mov ecx, edi
call fcn.004b0480
test al, al
jne 0x63e0d9
mov ecx, edi
call fcn.004b2c80
test al, al
jne 0x63e0d9
mov ecx, edi
call fcn.004b2c60
test al, al
jne 0x63e0d9
mov ecx, edi
call fcn.004a8430
test al, al
jne 0x63e0d9
mov eax, dword [esi + 0x168]
cmp eax, 0x40
jge case.0x63df4e.3
cmp eax, 0x28
jl case.0x63df4e.11
cdq
and edx, 3
add eax, edx
mov ecx, eax
sar ecx, 2
sub ecx, 0xa
mov edx, 1
shl edx, cl
test dword [ebp + 0x6024], edx
jne case.0x63df4e.11
jmp case.0x63df4e.3
mov esi, dword [esi + 0x168]
cmp esi, 0x40
jl case.0x63df4e.3
cmp esi, 0x60
jl case.0x63df4e.11
lea eax, [esi - 0x40]
cdq
and edx, 3
add eax, edx
mov ecx, eax
sar ecx, 2
sub ecx, 2
mov eax, 1
shl eax, cl
test dword [ebp + 0x6024], eax
jne case.0x63df4e.11
jmp case.0x63df4e.3
push 0
push 0x972918
push 0x972774
push 0
push edi
call fcn.0074d229
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x63e14f
mov eax, 0x48
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
push edi
mov ecx, ebp
call fcn.004af230
cmp eax, 0x137
jne 0x63df29
mov ecx, dword [esi + 0x168]
push ecx
push edi
mov ecx, ebp
call fcn.004ab210
cmp eax, dword [esi + 0x168]
jmp 0x63df1e
push 0
push 0x972918
push 0x972774
push 0
push edi
call fcn.0074d229
add esp, 0x14
test eax, eax
je 0x63e137
mov eax, dword [eax + 0x18]
test eax, eax
je 0x63e137
mov eax, dword [eax + 8]
test eax, eax
je 0x63e137
cmp dword [eax + 0xc], 0x3b
je 0x63e1c3
mov eax, 0x90
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp dword [eax + 0x204], 0
je case.0x63df4e.11
mov eax, 0x8e
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
push 0
push 0x972918
push 0x972774
push 0
push edi
call fcn.0074d229
add esp, 0x14
test eax, eax
je 0x63e137
mov eax, dword [eax + 0x18]
test eax, eax
je 0x63e137
mov eax, dword [eax + 8]
test eax, eax
je 0x63e137
cmp dword [eax + 0xc], 0x3b
jne 0x63e1ab
cmp dword [eax + 0x204], 0
jne case.0x63df4e.11
mov eax, 0x8f
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ebp, dword [ebp + 0x521c]
cmp ebp, 4
je 0x63e2b0
cmp ebp, 5
je 0x63e2b0
push 0
push 0x972918
push 0x972774
push 0
push edi
call fcn.0074d229
add esp, 0x14
test eax, eax
je 0x63e298
mov esi, dword [eax + 0x18]
test esi, esi
je 0x63e298
push 8
mov ecx, esi
call fcn.0042fe70
test al, al
je 0x63e298
push 1
mov ecx, esi
call fcn.0042fe70
test al, al
jne case.0x63df4e.11
mov eax, 0x45
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov eax, 0x24
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ecx, ebp
call fcn.00421a80
test al, al
je 0x63e298
mov edx, dword [esi + 0x168]
push edx
mov ecx, ebp
call fcn.004b38f0
test eax, eax
jne 0x63e298
push 8
call fcn.0066ce60
push 1
push 0x79a808
mov edi, eax
push 8
push edi
call fcn.0067ad00
push 8
call fcn.0066ce60
push ebx
push 0x79a808
push 8
push eax
mov dword [esp + 0x38], eax
call fcn.0067ad00
push 8
call fcn.0066ce60
mov ebx, eax
mov eax, dword [esi + 0x164]
push eax
push 0x79a808
push 8
push ebx
call fcn.0067ad00
push 8
call fcn.0066ce60
mov ecx, dword [esi + 0x168]
add esp, 0x40
push ecx
push 0x79a808
push 8
push eax
mov dword [esp + 0x24], eax
call fcn.0067ad00
mov ecx, dword [0x9922cc]
add esp, 0x10
call fcn.0041c2d0
push 0x14
call fcn.0074caae
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov dword [esp + 0x3c], 0
je 0x63e386
mov ecx, eax
call fcn.00417c40
jmp 0x63e388
xor eax, eax
mov ecx, dword [0x9922cc]
push eax
mov dword [esp + 0x40], 0xffffffff
call fcn.0041cdf0
mov ecx, dword [0x9922cc]
call fcn.0041c5e0
mov ecx, dword [0x9922cc]
push 0
call fcn.0041c110
cmp dword [ebp + 0x5fb8], 4
jmp 0x63f309
mov esi, dword [esi + 0x168]
cmp esi, 0x24
jl 0x63e3f1
lea ecx, [esi - 6]
mov eax, 0x2aaaaaab
imul ecx
mov ecx, edx
shr ecx, 0x1f
lea ecx, [edx + ecx + 0xa]
mov edx, 1
shl edx, cl
test dword [ebp + 0x6024], edx
je 0x63e298
push 0
push 0x972918
push 0x972774
push 0
push edi
call fcn.0074d229
add esp, 0x14
mov ecx, ebp
mov esi, eax
call fcn.0041be70
test al, al
je 0x63e298
test esi, esi
je 0x63e298
mov esi, dword [esi + 0x18]
test esi, esi
je 0x63e298
push 0x10
mov ecx, esi
call fcn.0042fe70
test al, al
je 0x63e298
mov ecx, esi
call fcn.00421970
test al, al
je case.0x63df4e.11
push 0xf
mov ecx, ebp
call fcn.004aafa0
test eax, eax
je case.0x63df4e.11
push 0
push 0x972918
push 0x972774
push 0
push eax
call fcn.0074d229
add esp, 0x14
test eax, eax
je case.0x63df4e.11
mov eax, dword [eax + 0x18]
test eax, eax
je case.0x63df4e.11
mov eax, dword [eax + 8]
test eax, eax
je 0x63e493
mov ecx, dword [eax + 4]
jmp 0x63e495
xor ecx, ecx
mov eax, dword [esi + 8]
test eax, eax
je 0x63e4a1
mov eax, dword [eax + 4]
jmp 0x63e4a3
xor eax, eax
cmp ecx, eax
jne case.0x63df4e.11
mov eax, 0x67
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
push 0
push 0x972918
push 0x972774
push 0
push edi
call fcn.0074d229
add esp, 0x14
test eax, eax
je case.0x63df4e.3
mov edi, dword [eax + 0x18]
test edi, edi
je case.0x63df4e.3
mov ecx, edi
call fcn.00421970
test al, al
jne case.0x63df4e.3
mov esi, dword [esi + 0x168]
test esi, esi
jne 0x63e56f
mov ecx, edi
call fcn.004a83f0
test al, al
jne 0x63e51c
mov ecx, edi
call fcn.004a8410
test al, al
je 0x63e53b
push 0x200
mov ecx, edi
call fcn.0042fe70
test al, al
je 0x63e53b
mov ecx, edi
call fcn.004a8450
test al, al
jne 0x63e53b
mov bl, 1
jmp 0x63e53d
xor bl, bl
push 1
mov ecx, edi
call fcn.004aad70
mov ecx, edi
mov esi, eax
call fcn.004ad830
cmp esi, eax
jl 0x63e5f6
mov eax, 0x3d
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp esi, 1
jne 0x63e5c9
mov eax, dword [ebp + 0x479c]
push 0
push 0x972918
push 0x972774
push 0
push eax
call fcn.0074d229
add esp, 0x14
test eax, eax
je case.0x63df4e.3
mov eax, dword [eax + 0x18]
test eax, eax
je case.0x63df4e.3
mov edi, dword [edi + 8]
test edi, edi
je 0x63e5b0
mov edx, dword [edi + 4]
jmp 0x63e5b2
xor edx, edx
push edx
push 1
mov ecx, eax
call fcn.004aad70
push eax
mov ecx, 0x976338
call fcn.004a7ef0
jmp 0x63e5f4
cmp esi, 2
jl case.0x63df4e.3
cmp esi, 4
jg case.0x63df4e.3
mov edi, dword [edi + 8]
test edi, edi
je 0x63e5e7
mov edi, dword [edi + 4]
jmp 0x63e5e9
xor edi, edi
push edi
mov ecx, 0x976338
call fcn.004a7f40
mov bl, al
test bl, bl
jne case.0x63df4e.11
jmp case.0x63df4e.3
push 0
push 0x972918
push 0x972774
push 0
push edi
call fcn.0074d229
add esp, 0x14
test eax, eax
je case.0x63df4e.3
mov edi, dword [eax + 0x18]
test edi, edi
je case.0x63df4e.3
mov ecx, edi
call fcn.00421970
test al, al
jne case.0x63df4e.3
mov esi, dword [esi + 0x168]
test esi, esi
jne 0x63e68b
mov ecx, edi
call fcn.004a83f0
test al, al
jne case.0x63df4e.11
mov ecx, edi
call fcn.004a8410
test al, al
jne case.0x63df4e.11
mov ecx, edi
call fcn.004a8430
test al, al
je case.0x63df4e.3
mov eax, 0x137
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp esi, 7
jne case.0x63df4e.3
mov ecx, ebp
call fcn.004b0790
cmp eax, 1
je 0x63e6b8
mov eax, 0xdc
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ecx, ebp
call fcn.004b07a0
test eax, eax
je case.0x63df4e.3
push 0
push 0x972918
push 0x972774
push 0
push 0
mov ecx, ebp
call fcn.004b0820
push eax
call fcn.0074d229
add esp, 0x14
test eax, eax
je case.0x63df4e.3
mov eax, dword [eax + 0x18]
test eax, eax
je case.0x63df4e.3
mov ecx, eax
call fcn.00421970
test al, al
jne case.0x63df4e.3
mov eax, dword [edi + 8]
test eax, eax
je 0x63e715
mov esi, dword [eax + 0xc]
jmp 0x63e717
xor esi, esi
mov ecx, edi
call fcn.004a8430
test al, al
je case.0x63df4e.3
cmp esi, 0x59
je case.0x63df4e.11
cmp esi, 0x5b
je case.0x63df4e.11
cmp esi, 0x5c
je case.0x63df4e.11
cmp esi, 0x5d
je case.0x63df4e.11
cmp esi, 0x5e
je case.0x63df4e.11
cmp esi, 0x5f
je case.0x63df4e.11
cmp esi, 0x60
je case.0x63df4e.11
cmp esi, 0x61
je case.0x63df4e.11
cmp esi, 0x62
je case.0x63df4e.11
cmp esi, 0x63
jmp 0x63f3c4
push 0
push 0x972918
push 0x972774
push 0
push edi
call fcn.0074d229
add esp, 0x14
test eax, eax
je case.0x63df4e.3
mov eax, dword [eax + 0x18]
test eax, eax
je case.0x63df4e.3
mov eax, dword [eax + 8]
test eax, eax
je 0x63e7b4
mov eax, dword [eax]
jmp 0x63e7b6
xor eax, eax
mov edi, 0x8d9fb8
mov esi, eax
mov ecx, 0xf
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je case.0x63df4e.11
mov esi, eax
mov edi, 0x8d9fa8
mov ecx, 0xf
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jmp 0x63df1e
push 0
push 0x972918
push 0x972774
push 0
push edi
call fcn.0074d229
add esp, 0x14
test eax, eax
je case.0x63df4e.3
mov esi, dword [eax + 0x18]
test esi, esi
je case.0x63df4e.3
mov ecx, esi
call fcn.004a83f0
test al, al
jne 0x63e825
mov ecx, esi
call fcn.004a8410
test al, al
je case.0x63df4e.3
push 0x800
mov ecx, esi
call fcn.0042fe70
test al, al
jne case.0x63df4e.11
jmp case.0x63df4e.3
push 0
push 0x972918
push 0x972774
push 0
push edi
call fcn.0074d229
add esp, 0x14
test eax, eax
je case.0x63df4e.3
cmp dword [eax + 0x18], 0
jne case.0x63df4e.11
jmp case.0x63df4e.3
cmp byte [ebp + 0xe90], 5
jne 0x63e8b9
push 0
push 0x972918
push 0x972774
push 0
push edi
call fcn.0074d229
add esp, 0x14
test eax, eax
je 0x63e8a1
mov eax, dword [eax + 0x18]
test eax, eax
je 0x63e8a1
cmp dword [eax + 8], 0
jne case.0x63df4e.11
mov eax, 0x45
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov eax, 0x4b
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ecx, ebp
call fcn.0041be50
test al, al
jne case.0x63df4e.14
jmp 0x63e298
push 0
push 0x972918
push 0x972774
push 0
push edi
call fcn.0074d229
add esp, 0x14
test eax, eax
je case.0x63df4e.3
mov esi, dword [eax + 0x18]
test esi, esi
je case.0x63df4e.3
mov ecx, esi
call fcn.00421970
test al, al
jne case.0x63df4e.3
mov esi, dword [esi + 8]
test esi, esi
je case.0x63df4e.3
cmp dword [esi + 4], 0x87c45
jmp 0x63df1e
push 0
push 0x972918
push 0x972774
push 0
push edi
call fcn.0074d229
add esp, 0x14
test eax, eax
je 0x63e298
mov eax, dword [eax + 0x18]
test eax, eax
je 0x63e298
mov esi, dword [eax + 8]
test esi, esi
je 0x63e298
mov ecx, esi
call fcn.00634100
test al, al
jne 0x63e998
cmp dword [esi + 0x1b4], 0
je 0x63e998
cmp dword [esi + 0x1b8], 0
jne case.0x63df4e.3
cmp dword [esi + 0x1c0], 0
jne case.0x63df4e.3
push 0x8d9f98
push 1
call fcn.00678ac0
add esp, 8
mov eax, 0x137
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ecx, ebp
call fcn.004acc70
test al, al
je 0x63e298
push 0
push 0x972918
push 0x972774
push 0
push edi
call fcn.0074d229
add esp, 0x14
test eax, eax
je 0x63de49
mov eax, dword [eax + 0x18]
test eax, eax
je 0x63de49
push eax
mov ecx, ebp
call fcn.004acd50
test al, al
jne case.0x63df4e.11
mov eax, 0xde
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
push 0
push 0x972918
push 0x972774
push 0
push edi
call fcn.0074d229
mov ecx, dword [esi + 0x168]
add esp, 0x14
push ecx
push eax
mov ecx, ebp
call fcn.004941a0
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
push 0
push 0x972918
push 0x972774
push 0
push edi
call fcn.0074d229
add esp, 0x14
test eax, eax
je 0x63de49
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x63de49
mov eax, dword [ecx + 8]
test eax, eax
je 0x63ea8f
mov eax, dword [eax + 4]
jmp 0x63ea91
xor eax, eax
xor bl, bl
cmp eax, 0x269b14d
jl 0x63eaa1
cmp eax, 0x269b152
jl 0x63eaab
add eax, 0xfd964ea9
cmp eax, 4
ja 0x63eaad
mov bl, 1
call fcn.00492f00
test al, al
jne case.0x63df4e.11
test bl, bl
jne case.0x63df4e.11
jmp case.0x63df4e.3
push 0
push 0x972918
push 0x972774
push 0
push edi
call fcn.0074d229
add esp, 0x14
test eax, eax
je 0x63e298
mov ecx, dword [eax + 0x18]
test ecx, ecx
je case.0x63df4e.11
xor eax, eax
mov word [esp + 0x24], 0
mov dword [esp + 0x26], eax
mov dword [esp + 0x2a], eax
mov dword [esp + 0x2e], eax
mov word [esp + 0x32], ax
mov eax, dword [ecx + 8]
test eax, eax
je 0x63eb16
mov eax, dword [eax]
jmp 0x63eb18
xor eax, eax
push eax
push 0x7ab60c
lea edx, [esp + 0x2c]
push 0x10
push edx
call fcn.0067ad00
lea eax, [esp + 0x34]
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x63eb34
sub eax, edx
push eax
lea eax, [esp + 0x28]
push eax
push str.ITEM40_48_2001
call fcn.0074f4cd
add esp, 0xc
test eax, eax
je case.0x63df4e.11
lea eax, [esp + 0x24]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x63eb61
sub eax, edx
push eax
lea ecx, [esp + 0x28]
push ecx
push str.ITEM40_48_2010
call fcn.0074f4cd
add esp, 0xc
test eax, eax
je case.0x63df4e.11
mov eax, 0x45
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp dword [edi + 0x18], 0
je case.0x63df4e.11
mov edx, dword [ebp + 0x4b38]
push edx
mov ecx, ebp
call fcn.00493150
test eax, eax
je 0x63e298
mov edi, dword [edi + 0x18]
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x63ebce
mov ecx, dword [ecx + 4]
jmp 0x63ebd0
xor ecx, ecx
mov esi, dword [esi + 0x168]
test esi, esi
jl case.0x63df4e.3
cmp esi, 5
jge case.0x63df4e.3
lea edx, [esi + esi*2]
mov edx, dword [eax + edx*4 + 0x28]
cmp edx, 0xfffffffe
jne 0x63ec2e
cmp ecx, 0x269b152
je 0x63ec07
cmp ecx, 0x269b15c
jne 0x63e298
movzx eax, word [eax + 0x60]
sub eax, 1
cmp esi, eax
je case.0x63df4e.11
mov eax, 0x126
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
test edx, edx
jl case.0x63df4e.11
cmp ecx, 0x269b14d
jb 0x63ec4a
cmp ecx, 0x269b152
jb case.0x63df4e.11
cmp ecx, 0x269b157
jb case.0x63df4e.3
cmp ecx, 0x269b15c
jb case.0x63df4e.11
jmp case.0x63df4e.3
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x63ec7b
call fcn.004a8490
test al, al
je case.0x63df4e.3
cmp dword [ebp + 0x4b6c], 0
je case.0x63df4e.11
mov eax, 0x49
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov edi, dword [edi + 0x18]
test edi, edi
je case.0x63df4e.11
mov esi, dword [edi + 8]
mov ecx, edi
call fcn.00634190
test al, al
je case.0x63df4e.3
mov ecx, edi
call fcn.004a8490
test al, al
jne case.0x63df4e.3
cmp dword [esi + 0x1b8], 0
jne case.0x63df4e.11
cmp dword [esi + 0x1c0], 0
jne case.0x63df4e.11
jmp case.0x63df4e.3
cmp ebx, 0xf
je case.0x63df4e.3
push 0
push 0x972918
push 0x972774
push 0
push edi
call fcn.0074d229
add esp, 0x14
test eax, eax
je 0x63e137
mov eax, dword [esi + 0x164]
cmp eax, 1
je case.0x63df4e.11
cmp eax, 2
jne case.0x63df4e.3
cmp ebx, 7
jne 0x63ed3c
cmp dword [esi + 0x168], 8
jmp 0x63df1e
cmp ebx, 8
jne 0x63ed4d
cmp dword [esi + 0x168], 7
jmp 0x63df1e
cmp ebx, 0xb
jne 0x63ed5e
cmp dword [esi + 0x168], 0xc
jmp 0x63df1e
cmp ebx, 0xc
jne case.0x63df4e.3
cmp dword [esi + 0x168], 0xb
jmp 0x63df1e
mov eax, dword [esi + 0x164]
test eax, eax
je 0x63ed8a
cmp eax, 0x35
jne case.0x63df4e.3
test eax, eax
jne 0x63edf4
cmp dword [esi + 0x16c], 0xa
jne 0x63edf4
cmp dword [esi + 0x168], 0
jne 0x63edf4
cmp dword [edi + 0x10], 1
jne case.0x63df4e.3
push 0
push 0x972794
push 0x972774
push 0
push edi
call fcn.0074d229
add esp, 0x14
test eax, eax
je case.0x63df4e.3
mov eax, dword [eax + 0x18]
test eax, eax
je case.0x63df4e.3
mov ecx, dword [eax]
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov ecx, 0xa
idiv ecx
cmp edx, 7
jne case.0x63df4e.3
mov edx, dword [edi]
mov eax, dword [edx + 4]
mov ecx, edi
call eax
cmp eax, 1
jne case.0x63df4e.11
push 0
push 0x972794
push 0x972774
push 0
push edi
call fcn.0074d229
add esp, 0x14
test eax, eax
je case.0x63df4e.11
mov eax, dword [eax + 0x18]
test eax, eax
je case.0x63df4e.11
cmp dword [eax + 8], 9
jne case.0x63df4e.11
mov eax, 0x64
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov esi, dword [esi + 0x164]
cmp esi, eax
je 0x63ee65
cmp esi, 4
jne case.0x63df4e.3
mov ebp, dword [ebp + 0x521c]
cmp ebp, 4
je case.0x63df4e.3
cmp ebp, 5
jne case.0x63df4e.11
jmp case.0x63df4e.3
cmp dword [esi + 0x164], eax
jne case.0x63df4e.3
mov ecx, ebp
call fcn.0041be20
test al, al
je 0x63e298
push 0
push 0x972918
push 0x972774
push 0
push edi
call fcn.0074d229
add esp, 0x14
test eax, eax
mov dword [esp + 0x14], eax
je case.0x63df4e.11
mov ecx, eax
mov eax, dword [ecx + 0x18]
mov edi, dword [eax + 0x6c]
push edi
push 0x79a808
lea edx, [esp + 0x24]
push 8
push edx
call fcn.0067ad00
add esp, 0x10
cmp edi, 1
jle 0x63efdb
push 8
call fcn.0066ce60
push ebx
push 0x79a808
mov edi, eax
push 8
push edi
call fcn.0067ad00
push 8
call fcn.0066ce60
mov ebx, eax
mov eax, dword [esi + 0x168]
push eax
push 0x79a808
push 8
push ebx
call fcn.0067ad00
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + 0x18]
mov eax, dword [eax + 8]
add esp, 0x28
test eax, eax
mov esi, 0x7958c8
je 0x63ef32
mov esi, dword [eax]
mov ecx, dword [0x9922cc]
call fcn.0041c2d0
push 0x14
call fcn.0074caae
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov dword [esp + 0x3c], 1
je 0x63ef60
mov ecx, eax
call fcn.00417940
jmp 0x63ef62
xor eax, eax
mov ecx, dword [0x9922cc]
push eax
mov dword [esp + 0x40], 0xffffffff
call fcn.0041cdf0
mov ecx, dword [0x9922cc]
call fcn.0041c5e0
mov ecx, dword [0x9922cc]
push 0x12
call fcn.0041c110
mov ecx, ebp
call fcn.004ae9f0
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push esi
call fcn.004028b0
push 0
mov ecx, ebp
call fcn.004b0320
lea edx, [esp + 0x1c]
push edx
push ebx
push edi
push 0x8d6604
push 4
call fcn.00678ac0
add esp, 0x14
mov eax, 0x137
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ecx, dword [0x9922cc]
call fcn.0041c2d0
mov ecx, dword [0x9922cc]
call fcn.0041c5e0
mov ecx, dword [0x9922cc]
push 0x12
call fcn.0041c110
push 0x14
call fcn.0074caae
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov dword [esp + 0x3c], 2
je 0x63f021
mov ecx, eax
call fcn.00417940
jmp 0x63f023
xor eax, eax
mov ecx, dword [0x9922cc]
or edi, 0xffffffff
push eax
mov dword [esp + 0x40], edi
call fcn.0041cdf0
push 0x14
call fcn.0074caae
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov dword [esp + 0x3c], 3
je 0x63f059
mov ecx, eax
call fcn.0041b710
jmp 0x63f05b
xor eax, eax
mov dword [eax + 4], 0
mov dword [eax + 8], ebx
mov dword [eax + 0xc], 1
mov ecx, dword [esi + 0x168]
mov dword [eax + 0x10], ecx
mov ecx, dword [0x9922cc]
push eax
mov dword [esp + 0x40], edi
call fcn.0041ce90
test al, al
jne 0x63f094
mov ecx, dword [0x9922cc]
call fcn.0041c2d0
mov ecx, dword [0x9922cc]
call fcn.0041e5a0
mov eax, 0x137
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov esi, dword [esi + 0x164]
cmp esi, eax
je case.0x63df4e.11
cmp esi, 7
je case.0x63df4e.11
cmp esi, 0x2a
jmp 0x63df1e
mov esi, dword [esi + 0x164]
cmp esi, eax
je 0x63f0e9
cmp esi, 8
jne case.0x63df4e.3
mov ecx, ebp
call fcn.0041be70
test al, al
jne case.0x63df4e.11
mov eax, 0x45
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp dword [esi + 0x164], eax
jne case.0x63df4e.3
mov edx, dword [ebp + 0x5f7c]
shr edx, 9
test dl, 1
jne case.0x63df4e.11
mov eax, 0x45
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp dword [esi + 0x164], eax
jne case.0x63df4e.3
cmp ebx, 6
je 0x63e298
mov eax, dword [ebp + 0x5f7c]
shr eax, 0x15
test al, 1
je 0x63e298
test ebx, ebx
je case.0x63df4e.11
mov ecx, ebp
call fcn.004b0790
cmp eax, 1
jne 0x63e298
mov ecx, ebp
call fcn.004b07a0
test eax, eax
jne case.0x63df4e.11
mov eax, 0x45
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov esi, dword [esi + 0x164]
cmp esi, eax
je 0x63f1be
cmp esi, 0x2a
jne case.0x63df4e.3
mov ecx, ebp
call fcn.0041be50
test al, al
jne case.0x63df4e.11
jmp case.0x63df4e.3
mov ecx, ebp
call fcn.004acc70
test al, al
je 0x63e298
cmp dword [esi + 0x164], 1
jmp 0x63df1e
mov eax, dword [esi + 0x164]
cmp eax, 4
je case.0x63df4e.4
cmp eax, 0x15
je case.0x63df4e.4
cmp eax, 7
jne 0x63f349
mov ecx, ebp
call fcn.00421a80
test al, al
je 0x63e298
mov ecx, dword [esi + 0x168]
push ecx
mov ecx, ebp
call fcn.004b38f0
test eax, eax
jne 0x63e298
push 8
call fcn.0066ce60
push 0x2a
push 0x79a808
mov edi, eax
push 8
push edi
call fcn.0067ad00
push 8
call fcn.0066ce60
push ebx
push 0x79a808
push 8
push eax
mov dword [esp + 0x38], eax
call fcn.0067ad00
push 8
call fcn.0066ce60
mov edx, dword [esi + 0x164]
push edx
push 0x79a808
mov ebx, eax
push 8
push ebx
call fcn.0067ad00
push 8
call fcn.0066ce60
mov ecx, dword [esi + 0x168]
add esp, 0x40
push ecx
push 0x79a808
push 8
push eax
mov dword [esp + 0x24], eax
call fcn.0067ad00
mov ecx, dword [0x9922cc]
add esp, 0x10
call fcn.0041c2d0
push 0x14
call fcn.0074caae
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov esi, 4
mov dword [esp + 0x3c], esi
je 0x63f2d5
mov ecx, eax
call fcn.00417c40
jmp 0x63f2d7
xor eax, eax
mov ecx, dword [0x9922cc]
push eax
mov dword [esp + 0x40], 0xffffffff
call fcn.0041cdf0
mov ecx, dword [0x9922cc]
call fcn.0041c5e0
mov ecx, dword [0x9922cc]
push 0
call fcn.0041c110
cmp dword [ebp + 0x5fb8], esi
mov eax, 0x79ac30
je 0x63f315
mov eax, 0x79adb8
mov edx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x14]
push edx
push ebx
push eax
push edi
push 0x8d9f84
push 6
call fcn.00678ac0
add esp, 0x1c
mov eax, 0x137
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp eax, 0x2b
jne case.0x63df4e.3
mov ecx, dword [esi + 0x168]
push ecx
push ebx
mov ecx, ebp
call fcn.004940c0
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp dword [esi + 0x164], 0x2a
jne case.0x63df4e.3
mov edx, dword [esi + 0x168]
push edx
push ebx
mov ecx, ebp
call fcn.00494240
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp dword [esi + 0x164], 0x35
je case.0x63df4e.11
cmp dword [esi + 0x164], eax
jmp 0x63df1e
mov esi, dword [esi + 0x164]
test esi, esi
je case.0x63df4e.11
cmp esi, 0x40
jne case.0x63df4e.3
mov ecx, dword [esp + 0x34]
pop edi
pop esi
pop ebp
mov eax, 0x137
mov dword fs:[0], ecx
pop ebx
add esp, 0x30
ret