Function at 0x57e110
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
mov eax, dword [0x623ec0]
xor eax, esp
mov dword [esp + 0x18], eax
push ebx
push esi
mov esi, ecx
push edi
cmp dword [esi + 0x1d4], 0
jne 0x57f24d
mov ax, word [ebp + 8]
lea ecx, [esp + 0x14]
xorps xmm0, xmm0
mov word [esi + 0x864], ax
movlpd qword [esp + 0x14], xmm0
mov dl, 0x15
mov word [esp + 0x14], ax
mov ax, word [ebp + 0xc]
movlpd qword [esp + 0x1c], xmm0
mov byte [esi + 0xa66], 0
mov word [esi + 0x866], ax
mov word [esp + 0x1c], ax
call fcn.0049aed0
mov dl, 0x15
mov dword [esi + 0xf4], eax
lea ecx, [esp + 0x1c]
call fcn.0049aed0
mov dl, 0x11
mov dword [esi + 0xf8], eax
lea ecx, [esp + 0x14]
call fcn.0049aed0
mov dl, 0x11
lea ecx, [esp + 0x1c]
mov ebx, eax
call fcn.0049aed0
mov cx, word [esp + 0x14]
mov edi, eax
mov ax, word [esp + 0x1c]
test ax, ax
js 0x57f23a
test cx, cx
js 0x57f23a
mov edx, 0x1964
cmp ax, dx
jge 0x57f23a
cmp cx, dx
jge 0x57f23a
cwde
lea eax, [eax + eax*8]
shl eax, 4
movzx edx, word [eax + 0x817ff0]
test dx, dx
js 0x57f24d
movsx eax, cx
lea eax, [eax + eax*8]
shl eax, 4
cmp word [eax + 0x817ff0], 0
jl 0x57f24d
push 0x2bf20
push 0
movsx eax, dx
push eax
call fcn.004abba0
movsx ecx, word [esp + 0x14]
push 0x2bf20
push 0
mov dword [esp + 0x18], eax
lea ecx, [ecx + ecx*8]
shl ecx, 4
movsx ecx, word [ecx + 0x817ff0]
push ecx
call fcn.004abba0
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x57f227
test eax, eax
je 0x57f227
movss xmm0, dword [ecx + 0x354]
movss dword [esi + 0x870], xmm0
mov eax, dword [eax + 0x354]
mov dword [esi + 0x874], eax
mov dword [esi + 0x868], 0
mov dword [esi + 0x86c], 0
mov eax, dword [esi + 0x60]
test eax, eax
je 0x57f24d
mov ecx, dword [esi + 0x218]
cmp ecx, 0x1a
je 0x57f0f5
cmp ecx, 0x21
je 0x57f0f5
cmp ecx, 0x28
je 0x57f0f5
mov eax, dword [eax + 0x2f8]
movss xmm1, dword [0x604ccc]
test eax, eax
je 0x57e302
subss xmm0, xmm1
movss dword [eax + 0x28ec], xmm0
movsx eax, word [esp + 0x1c]
lea eax, [eax + eax*8]
shl eax, 4
mov cl, byte [eax + 0x81803e]
mov eax, dword [esi + 0x60]
shl cl, 4
mov eax, dword [eax + 0x2f8]
mov byte [eax + 0x28ff], cl
mov eax, dword [esi + 0x60]
mov ecx, dword [eax + 0x2f8]
mov al, byte [esi + 0x198]
add byte [ecx + 0x28ff], al
mov eax, dword [esi + 0x60]
mov eax, dword [eax + 0x2fc]
test eax, eax
je 0x57e35b
movss xmm0, dword [esi + 0x874]
subss xmm0, xmm1
movss dword [eax + 0x28ec], xmm0
movsx eax, word [esp + 0x14]
lea eax, [eax + eax*8]
shl eax, 4
mov cl, byte [eax + 0x81803e]
mov eax, dword [esi + 0x60]
shl cl, 4
mov eax, dword [eax + 0x2fc]
mov byte [eax + 0x28ff], cl
mov eax, dword [esi + 0x60]
mov ecx, dword [eax + 0x2fc]
mov al, byte [esi + 0x199]
add byte [ecx + 0x28ff], al
cmp byte [esi + 0xa1f], 1
mov eax, dword [esi + 0x60]
mov eax, dword [eax + 0x2f8]
jne 0x57e3a2
test eax, eax
je 0x57e382
cmp word [esi + 0x866], 0
je 0x57e382
mov byte [eax + 0x28f1], 1
mov eax, dword [esi + 0x60]
mov eax, dword [eax + 0x2fc]
test eax, eax
je 0x57e3c1
cmp word [esi + 0x864], 0
je 0x57e3c1
mov byte [eax + 0x28f1], 1
jmp 0x57e3c1
test eax, eax
je 0x57e3ad
mov byte [eax + 0x28f1], 0
mov eax, dword [esi + 0x60]
mov eax, dword [eax + 0x2fc]
test eax, eax
je 0x57e3c1
mov byte [eax + 0x28f1], 0
mov eax, dword [esi + 0x218]
cmp eax, 0x24
jne 0x57e4ec
mov eax, dword [esi + 0xf4]
cmp eax, 1
je 0x57e4f1
cmp eax, 0x3d
je 0x57e4f1
cmp eax, 0x1f
je 0x57e4f1
cmp eax, 0xb
jne 0x57e42b
cmp dword [esi + 0x1d4], 0
jne 0x57e650
mov dword [esi + 0x22c], 0xf
mov dword [esi + 0x86c], 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x18]
xor ecx, esp
call fcn.0046676f
mov esp, ebp
pop ebp
ret 8
cmp eax, 0xd
jne 0x57e465
cmp dword [esi + 0x1d4], 0
jne 0x57e650
mov dword [esi + 0x22c], 0xc
mov dword [esi + 0x86c], 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x18]
xor ecx, esp
call fcn.0046676f
mov esp, ebp
pop ebp
ret 8
cmp eax, 0x15
je 0x57e4b7
cmp eax, 0x16
je 0x57e4b7
cmp eax, 0x17
je 0x57e4b7
cmp eax, 3
je 0x57e482
cmp eax, 0x3f
jne 0x57e650
cmp dword [esi + 0x1d4], 0
jne 0x57e650
mov dword [esi + 0x22c], 0xe
mov dword [esi + 0x86c], 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x18]
xor ecx, esp
call fcn.0046676f
mov esp, ebp
pop ebp
ret 8
cmp dword [esi + 0x1d4], 0
jne 0x57e650
mov dword [esi + 0x22c], 0xd
mov dword [esi + 0x86c], 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x18]
xor ecx, esp
call fcn.0046676f
mov esp, ebp
pop ebp
ret 8
cmp eax, 0x25
jne 0x57e526
cmp dword [esi + 0x1d4], 0
jne 0x57e650
mov dword [esi + 0x22c], 0xb
mov dword [esi + 0x86c], 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x18]
xor ecx, esp
call fcn.0046676f
mov esp, ebp
pop ebp
ret 8
cmp eax, 0x3c
jne 0x57e638
mov eax, dword [esi + 0xf4]
cmp eax, 0x29
jne 0x57e578
test edi, edi
jne 0x57e5f9
mov eax, dword [esi + 0x60]
mov byte [eax + 0x305], 1
cmp dword [esi + 0x1d4], edi
jne 0x57e598
mov dword [esi + 0x22c], edi
mov dword [esi + 0x868], 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x18]
xor ecx, esp
call fcn.0046676f
mov esp, ebp
pop ebp
ret 8
cmp eax, 0xb
jne 0x57e5f9
cmp edi, 0x80
jne 0x57e5b6
cmp dword [esi + 0x1d4], 0
jne 0x57e598
mov dword [esi + 0x22c], 1
mov dword [esi + 0x868], 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x18]
xor ecx, esp
call fcn.0046676f
mov esp, ebp
pop ebp
ret 8
cmp edi, 0xc0
jne 0x57e5f9
cmp dword [esi + 0x1d4], 0
jne 0x57e5d1
mov dword [esi + 0x22c], 4
mov dword [esi + 0x868], 1
mov dword [esi + 0x86c], 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x18]
xor ecx, esp
call fcn.0046676f
mov esp, ebp
pop ebp
ret 8
mov dword [esi + 0x86c], 1
mov dword [esi + 0x868], 1
cmp dword [esi + 0x1d4], 0
jne 0x57f24d
mov dword [esi + 0x22c], 0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x18]
xor ecx, esp
call fcn.0046676f
mov esp, ebp
pop ebp
ret 8
cmp eax, 0x3d
jne 0x57e66e
cmp dword [esi + 0x1d4], 0
jne 0x57e650
mov dword [esi + 0x22c], 1
mov dword [esi + 0x86c], 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x18]
xor ecx, esp
call fcn.0046676f
mov esp, ebp
pop ebp
ret 8
cmp eax, 0x3e
jne 0x57e6db
mov eax, dword [esi + 0xf4]
cmp eax, 1
je 0x57e6a0
cmp eax, 0xb
je 0x57e6a0
cmp eax, 0x3d
je 0x57e6a0
cmp eax, 2
je 0x57e6a0
cmp eax, 0xc
je 0x57e6a0
cmp eax, 0x3e
je 0x57e6a0
cmp eax, 0x1f
jne 0x57e60d
cmp dword [esi + 0x1d4], 0
jne 0x57e6b3
mov dword [esi + 0x22c], 1
mov dword [esi + 0x86c], 1
mov dword [esi + 0x868], 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x18]
xor ecx, esp
call fcn.0046676f
mov esp, ebp
pop ebp
ret 8
mov eax, dword [esi + 0x5c]
test eax, eax
jne 0x57eac7
cmp byte [esi + 0xa44], 0
mov eax, dword [esi + 0xf4]
jne 0x57e93c
test eax, eax
jne 0x57e720
cmp edi, 0x80
jne 0x57e720
cmp dword [esi + 0x1d4], eax
jne 0x57eaab
mov dword [esi + 0x22c], 2
jmp 0x57eaab
cmp ebx, 0xc0
jne 0x57e730
cmp edi, ebx
je 0x57e8ed
cmp eax, 1
je 0x57e90f
cmp eax, 0xb
je 0x57e90f
cmp eax, 0x3d
je 0x57e90f
cmp eax, 0x1f
je 0x57e90f
cmp eax, 2
je 0x57e8b0
cmp eax, 0xc
je 0x57e8b0
cmp eax, 0x3e
je 0x57e8b0
cmp eax, 3
je 0x57e894
cmp eax, 0x3f
je 0x57e894
cmp eax, 0xd
jne 0x57e7ab
cmp ebx, 0x40
jne 0x57eaab
cmp dword [esi + 0x1d4], 0
jne 0x57eaa1
mov dword [esi + 0x22c], 7
jmp 0x57eaa1
cmp eax, 0x15
je 0x57e86f
cmp eax, 0x16
je 0x57e86f
cmp eax, 0x17
je 0x57e86f
cmp eax, 0x66
je 0x57e84a
cmp eax, 0x67
je 0x57e84a
cmp eax, 0x68
jne 0x57e7fa
cmp ebx, 0x40
jne 0x57eaab
cmp dword [esi + 0x1d4], 0
jne 0x57eaa1
mov dword [esi + 0x22c], 9
jmp 0x57eaa1
cmp eax, 0x65
je 0x57e8b8
cmp eax, 0x20
je 0x57ea05
cmp eax, 0x21
je 0x57ea05
cmp eax, 0x29
jne 0x57e82e
mov dword [esi + 0x86c], 1
mov dword [esi + 0x868], 1
cmp dword [esi + 0x1d4], 0
jne 0x57eaab
mov dword [esi + 0x22c], 0
jmp 0x57eaab
cmp ebx, 0x40
jne 0x57eaab
cmp dword [esi + 0x1d4], 0
jne 0x57eaa1
mov dword [esi + 0x22c], 0xa
jmp 0x57eaa1
cmp ebx, 0x40
jne 0x57eaab
cmp dword [esi + 0x1d4], 0
jne 0x57eaa1
mov dword [esi + 0x22c], 8
jmp 0x57eaa1
cmp dword [esi + 0x1d4], 0
jne 0x57eaa1
mov dword [esi + 0x22c], 6
jmp 0x57eaa1
cmp edi, 0x80
jne 0x57e8d4
cmp dword [esi + 0x1d4], 0
jne 0x57eaa1
mov dword [esi + 0x22c], 3
jmp 0x57eaa1
cmp dword [esi + 0xf8], 0
je 0x57ea05
cmp edi, 0xc4
jne 0x57eaab
cmp dword [esi + 0x1d4], 0
jne 0x57e900
mov dword [esi + 0x22c], 4
mov dword [esi + 0x868], 1
jmp 0x57eaa1
cmp dword [esi + 0xf8], 0
je 0x57e920
cmp edi, 0x80
jne 0x57e8e1
cmp dword [esi + 0x1d4], 0
jne 0x57eaa1
mov dword [esi + 0x22c], 1
jmp 0x57eaa1
test eax, eax
jne 0x57e963
cmp edi, 0x80
jne 0x57e963
cmp dword [esi + 0x1d4], eax
jne 0x57eaab
mov dword [esi + 0x22c], 3
jmp 0x57eaab
cmp ebx, 0xc0
jne 0x57e991
cmp edi, ebx
jne 0x57e991
cmp dword [esi + 0x1d4], 0
jne 0x57e982
mov dword [esi + 0x22c], 2
mov dword [esi + 0x868], 1
jmp 0x57eaa1
cmp eax, 1
je 0x57ea7d
cmp eax, 0xb
je 0x57ea7d
cmp eax, 0x3d
je 0x57ea7d
cmp eax, 2
je 0x57ea7d
cmp eax, 0xc
je 0x57ea7d
cmp eax, 0x3e
je 0x57ea7d
cmp eax, 0x1f
je 0x57ea7d
cmp eax, 0x15
je 0x57ea63
cmp eax, 0x16
je 0x57ea63
cmp eax, 0x17
je 0x57ea63
cmp eax, 0xd
je 0x57ea63
cmp eax, 3
je 0x57ea63
cmp eax, 0x3f
je 0x57ea63
cmp eax, 0x20
je 0x57ea63
cmp eax, 0x21
je 0x57ea63
cmp eax, 0x65
jne 0x57ea21
cmp dword [esi + 0x1d4], 0
jne 0x57eaa1
mov dword [esi + 0x22c], 5
jmp 0x57eaa1
cmp eax, 0x66
je 0x57ea59
cmp eax, 0x67
je 0x57ea59
cmp eax, 0x29
jne 0x57ea44
mov dword [esi + 0x86c], 1
mov dword [esi + 0x868], 1
cmp dword [esi + 0x1d4], 0
jne 0x57eaab
mov dword [esi + 0x22c], 0
jmp 0x57eaab
cmp ebx, 0x40
jne 0x57eaab
jmp 0x57e920
cmp ebx, 0x40
jne 0x57eaab
cmp dword [esi + 0x1d4], 0
jne 0x57eaa1
mov dword [esi + 0x22c], 4
jmp 0x57eaa1
cmp dword [esi + 0x1d4], 0
jne 0x57ea90
mov dword [esi + 0x22c], 1
cmp dword [esi + 0xf8], 0
je 0x57eaa1
cmp edi, 0x80
jne 0x57eaab
mov dword [esi + 0x86c], 1
cmp dword [esi + 0xf4], 0x29
jne 0x57f05d
mov dword [esi + 0x868], 1
jmp 0x57ee1e
dec eax
cmp eax, 3
ja case.default.0x57ead1
jmp dword [eax*4 + 0x57f264]
cmp byte [esi + 0xa44], 0
mov eax, dword [esi + 0xf4]
jne 0x57ecd4
test eax, eax
jne 0x57eb12
cmp edi, 0x80
jne 0x57eb12
cmp dword [esi + 0x1d4], eax
jne case.default.0x57ead1
mov dword [esi + 0x22c], 2
jmp case.default.0x57ead1
cmp ebx, 0xc0
jne 0x57eb40
cmp edi, ebx
jne 0x57eb40
cmp dword [esi + 0x1d4], 0
jne 0x57eb31
mov dword [esi + 0x22c], 4
mov dword [esi + 0x868], 1
jmp 0x57ee1e
cmp eax, 3
je 0x57ecb8
cmp eax, 0x3f
je 0x57ecb8
cmp eax, 1
je 0x57ec92
cmp eax, 0xb
je 0x57ec92
cmp eax, 0x3d
je 0x57ec92
cmp eax, 2
je 0x57ec92
cmp eax, 0xc
je 0x57ec92
cmp eax, 0x3e
je 0x57ec92
cmp eax, 0x1f
je 0x57ec92
cmp eax, 0x15
je 0x57edb9
cmp eax, 0x16
je 0x57edb9
cmp eax, 0x17
je 0x57edb9
cmp eax, 0x66
je 0x57ec6d
cmp eax, 0x67
je 0x57ec6d
cmp eax, 0xd
jne 0x57ebdf
cmp dword [esi + 0x1d4], 0
jne 0x57ee1e
mov dword [esi + 0x22c], 7
jmp 0x57ee1e
cmp eax, 0x20
je 0x57ec48
cmp eax, 0x21
je 0x57ec48
cmp eax, 0x65
jne 0x57ec13
cmp ebx, 0x40
jne case.default.0x57ead1
cmp dword [esi + 0x1d4], 0
jne 0x57ee1e
mov dword [esi + 0x22c], 6
jmp 0x57ee1e
cmp eax, 0x29
jne 0x57ec2c
mov dword [esi + 0x86c], 1
mov dword [esi + 0x868], 1
cmp dword [esi + 0x1d4], 0
jne case.default.0x57ead1
mov dword [esi + 0x22c], 0
jmp case.default.0x57ead1
cmp ebx, 0x40
jne case.default.0x57ead1
cmp dword [esi + 0x1d4], 0
jne 0x57ee1e
mov dword [esi + 0x22c], 9
jmp 0x57ee1e
cmp ebx, 0x40
jne case.default.0x57ead1
cmp dword [esi + 0x1d4], 0
jne 0x57ee1e
mov dword [esi + 0x22c], 3
jmp 0x57ee1e
cmp dword [esi + 0xf8], 0
je 0x57ee0b
cmp edi, 0x80
je 0x57ec76
cmp edi, 0xc4
jne case.default.0x57ead1
jmp 0x57eb1e
cmp dword [esi + 0x1d4], 0
jne 0x57ee1e
mov dword [esi + 0x22c], 0xa
jmp 0x57ee1e
test eax, eax
jne 0x57ecfb
cmp edi, 0x80
jne 0x57ecfb
cmp dword [esi + 0x1d4], eax
jne case.default.0x57ead1
mov dword [esi + 0x22c], 3
jmp case.default.0x57ead1
cmp ebx, 0xc0
jne 0x57ed2d
cmp edi, ebx
jne 0x57ed2d
cmp dword [esi + 0x1d4], 0
jne 0x57eb31
mov dword [esi + 0x22c], 2
mov dword [esi + 0x868], 1
jmp 0x57ee1e
cmp eax, 1
je 0x57ee66
cmp eax, 0xb
je 0x57ee66
cmp eax, 0x3d
je 0x57ee66
cmp eax, 2
je 0x57ee66
cmp eax, 0xc
je 0x57ee66
cmp eax, 0x3e
je 0x57ee66
cmp eax, 0x1f
je 0x57ee66
cmp eax, 0x15
je 0x57ee4c
cmp eax, 0x16
je 0x57ee4c
cmp eax, 0x17
je 0x57ee4c
cmp eax, 0xd
je 0x57ee4c
cmp eax, 3
je 0x57ee4c
cmp eax, 0x3f
je 0x57ee4c
cmp eax, 0x20
je 0x57ee4c
cmp eax, 0x21
je 0x57ee4c
cmp eax, 0x65
jne 0x57edce
cmp dword [esi + 0x1d4], 0
jne 0x57ee1e
mov dword [esi + 0x22c], 5
jmp 0x57ee1e
cmp eax, 0x66
je 0x57ee06
cmp eax, 0x67
je 0x57ee06
cmp eax, 0x29
jne 0x57edf1
mov dword [esi + 0x86c], 1
mov dword [esi + 0x868], 1
cmp dword [esi + 0x1d4], 0
jne case.default.0x57ead1
mov dword [esi + 0x22c], 0
jmp case.default.0x57ead1
cmp ebx, 0x40
jne case.default.0x57ead1
cmp dword [esi + 0x1d4], 0
jne 0x57ee1e
mov dword [esi + 0x22c], 1
mov dword [esi + 0x86c], 1
cmp dword [esi + 0xf4], 0x29
jne 0x57f05d
mov eax, dword [esi + 0x60]
test eax, eax
je 0x57f05d
mov byte [eax + 0x305], 1
jmp 0x57f06b
cmp ebx, 0x40
jne case.default.0x57ead1
cmp dword [esi + 0x1d4], 0
jne 0x57ee1e
mov dword [esi + 0x22c], 4
jmp 0x57ee1e
cmp dword [esi + 0x1d4], 0
jne 0x57ee79
mov dword [esi + 0x22c], 1
cmp dword [esi + 0xf8], 0
je 0x57ee1e
cmp edi, 0x80
jne case.default.0x57ead1
jmp 0x57ee1e
cmp byte [esi + 0xa44], 0
mov eax, dword [esi + 0xf4]
jne 0x57ef37
cmp eax, 0x65
jne 0x57eec6
cmp dword [esi + 0x1d4], 0
jne 0x57eeb7
mov dword [esi + 0x22c], 1
mov dword [esi + 0x86c], 0
jmp case.default.0x57ead1
cmp eax, 0xc
jne 0x57eee7
cmp dword [esi + 0x1d4], 0
jne 0x57ee1e
mov dword [esi + 0x22c], 2
jmp 0x57ee1e
cmp edi, 0x80
je 0x57edb9
cmp eax, 1
je 0x57edb9
cmp eax, 0xb
je 0x57edb9
cmp eax, 0xd
je 0x57ec76
cmp eax, 0x15
je 0x57ec76
cmp eax, 0x1f
je 0x57ee51
cmp eax, 0x20
je 0x57ee51
cmp eax, 0x21
je 0x57ee51
jmp 0x57f016
cmp eax, 0x65
je 0x57eea4
cmp eax, 1
je 0x57edb9
cmp eax, 0xb
je 0x57edb9
cmp eax, 0xc
je 0x57edb9
cmp eax, 0xd
je 0x57edb9
cmp eax, 0x1f
je 0x57edb9
cmp eax, 0x20
je 0x57edb9
cmp eax, 0x21
je 0x57edb9
jmp 0x57f016
cmp byte [esi + 0xa44], 0
jne 0x57ec2c
movzx eax, word [esi + 0x172]
test ax, ax
je 0x57ec2c
cmp ax, 1
jne case.default.0x57ead1
cmp dword [esi + 0x1d4], 0
jne case.default.0x57ead1
mov dword [esi + 0x22c], 1
jmp case.default.0x57ead1
mov eax, dword [esi + 0xf4]
cmp eax, 1
je 0x57ee0b
cmp eax, 0xb
je 0x57ee0b
cmp eax, 0x3d
je 0x57ee0b
cmp eax, 0x15
je 0x57eecb
cmp eax, 0x16
je 0x57eecb
cmp eax, 0x17
je 0x57eecb
cmp eax, 0xd
je 0x57eecb
cmp eax, 0x66
je 0x57f03b
cmp eax, 0x67
je 0x57f03b
cmp dword [esi + 0x1d4], 0
jne 0x57f029
mov dword [esi + 0x22c], 0
xor eax, eax
test ebx, ebx
setne al
mov dword [esi + 0x86c], eax
jmp case.default.0x57ead1
cmp dword [esi + 0x1d4], 0
jne 0x57f04e
mov dword [esi + 0x22c], 3
mov dword [esi + 0x86c], 0
jmp case.default.0x57ead1
mov eax, dword [esi + 0x60]
test eax, eax
je 0x57f06b
mov byte [eax + 0x305], 0
mov eax, dword [esi + 0x5c]
cmp eax, 0xb
jne 0x57f07f
mov eax, dword [esi + 0x60]
mov byte [eax + 0x305], 1
jmp 0x57f0c9
cmp eax, 0xa
jne 0x57f0c9
mov eax, dword [esi + 0x60]
mov byte [eax + 0x304], 1
cmp dword [esi + 0x1d4], 0
jne 0x57f0a1
mov dword [esi + 0x22c], 0
cmp word [esi + 0x866], 0
je 0x57f0b5
mov dword [esi + 0x868], 1
cmp word [esi + 0x864], 0
je 0x57f0c9
mov dword [esi + 0x86c], 1
cmp dword [esi + 0x9d8], 0xe
jge 0x57f24d
push 1
push 1
mov ecx, esi
call fcn.005790f0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x18]
xor ecx, esp
call fcn.0046676f
mov esp, ebp
pop ebp
ret 8
cmp dword [esi + 0x1d4], 0
jne 0x57f108
mov dword [esi + 0x22c], 0
cmp word [esi + 0x866], 0
je 0x57f11c
mov dword [esi + 0x868], 1
cmp word [esi + 0x864], 0
je 0x57f130
mov dword [esi + 0x86c], 1
cmp dword [eax + 0x2f8], 0
je 0x57f19e
mov dword [esi + 0x870], 0x3ced9168
mov eax, dword [eax + 0x2f8]
mov dword [eax + 0x28ec], 0x3ced9168
mov eax, dword [esi + 0x60]
mov eax, dword [eax + 0x2f8]
mov dword [eax + 0x28e8], 0x3ced9168
movsx eax, word [esp + 0x1c]
lea eax, [eax + eax*8]
shl eax, 4
mov cl, byte [eax + 0x81803e]
mov eax, dword [esi + 0x60]
shl cl, 4
mov eax, dword [eax + 0x2f8]
mov byte [eax + 0x28ff], cl
mov eax, dword [esi + 0x60]
mov ecx, dword [eax + 0x2f8]
mov al, byte [esi + 0x198]
add byte [ecx + 0x28ff], al
mov eax, dword [esi + 0x60]
cmp dword [eax + 0x2fc], 0
je 0x57f24d
mov dword [esi + 0x874], 0x3ced9168
mov eax, dword [eax + 0x2fc]
mov dword [eax + 0x28ec], 0x3ced9168
mov eax, dword [esi + 0x60]
mov eax, dword [eax + 0x2fc]
mov dword [eax + 0x28e8], 0x3ced9168
movsx eax, word [esp + 0x14]
lea eax, [eax + eax*8]
shl eax, 4
mov cl, byte [eax + 0x81803e]
mov eax, dword [esi + 0x60]
shl cl, 4
mov eax, dword [eax + 0x2fc]
mov byte [eax + 0x28ff], cl
mov eax, dword [esi + 0x60]
mov ecx, dword [eax + 0x2fc]
mov al, byte [esi + 0x199]
add byte [ecx + 0x28ff], al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x18]
xor ecx, esp
call fcn.0046676f
mov esp, ebp
pop ebp
ret 8
movsx eax, word [esp + 0x1c]
push eax
movsx eax, word [esp + 0x18]
push eax
push str.NULL_Mesh_Check_Weapon_:_L___d_R___d
jmp 0x57f245
cwde
push eax
movsx eax, cx
push eax
push str.Check_Weapon_:_L___d_R___d
call fcn.00586620
add esp, 0xc
mov ecx, dword [esp + 0x24]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0046676f
mov esp, ebp
pop ebp
ret 8