Function at 0x1007b1fb
Capabilities:
Parse credit card information

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x34c
mov eax, dword [0x10086084]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, ecx
mov dword [ebp - 0x2cc], edx
mov dword [ebp - 0x2a0], esi
mov dword [ebp - 0x2b4], ebx
mov dword [ebp - 0x2bc], eax
push edi
test esi, esi
je 0x1007c8e6
test ebx, ebx
je 0x1007c8e6
test eax, eax
je 0x1007b251
cmp dword [eax + 8], 0x4c
jb 0x1007c8e6
push 0xa0
push 0
push ebx
call sub.msvcrt.dll_memset
add esp, 0xc
lea edx, [ebp - 0x2a8]
mov ecx, esi
call fcn.10075680
push 1
lea edx, [ebp - 0x294]
mov ecx, esi
call fcn.10074697
mov edx, eax
test edx, edx
js 0x1007c8d4
cmp byte [ebp - 0x280], 0
jne 0x1007c8e2
mov eax, dword [ebp - 0x294]
mov ecx, dword [ebp - 0x2a8]
mov edi, dword [ebp - 0x2a4]
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x20], ecx
mov dword [ebx + 0x24], edi
mov eax, dword [esi + 0xe4]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x284]
cmp eax, 0x30
jle 0x1007b87e
cmp eax, 0x4c
jg 0x1007b55b
je 0x1007b56b
cmp eax, 0x33
je 0x1007b47a
cmp eax, 0x3f
jle 0x1007c8b8
cmp eax, 0x41
jle 0x1007b2ff
cmp eax, 0x44
jle 0x1007c8b8
cmp eax, 0x46
jg 0x1007c8b8
push 1
lea edx, [ebp - 0x294]
mov ecx, esi
call fcn.10074697
mov edx, eax
test edx, edx
js 0x1007c8b8
cmp byte [ebp - 0x280], 0
jne 0x1007c8b8
cmp dword [ebp - 0x284], 0x66
je 0x1007b438
cmp dword [ebp - 0x284], 0x4b
je 0x1007b349
cmp dword [ebp - 0x284], 0x47
jne 0x1007b2ff
jmp 0x1007b463
mov dword [ebx], 0xa
push 1
lea edx, [ebp - 0x294]
mov ecx, esi
call fcn.10074697
mov edx, eax
test edx, edx
js 0x1007c8b8
cmp byte [ebp - 0x280], 0
jne 0x1007c8b8
cmp dword [ebp - 0x284], 0x4b
je 0x1007b34f
cmp dword [ebp - 0x284], 0x4c
jne 0x1007b3a7
and dword [ebx + 0x2c], 0
and dword [ebx + 0x34], 0
lea edi, [ebx + 0x38]
lea esi, [ebp - 0x294]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x2a0]
jmp 0x1007b463
cmp dword [ebp - 0x284], 0x4d
jne case.0x1007b685.92
lea edi, [ebx + 0x28]
lea esi, [ebp - 0x294]
movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x294]
push 1
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x2a0]
mov ecx, esi
call fcn.10074697
mov edx, eax
test edx, edx
js 0x1007c8b8
cmp byte [ebp - 0x280], 0
jne 0x1007c8b8
cmp dword [ebp - 0x284], 0x4e
jne case.0x1007b685.92
push 1
lea edx, [ebp - 0x294]
mov ecx, esi
call fcn.10074697
mov edx, eax
test edx, edx
js 0x1007c8b8
cmp byte [ebp - 0x280], 0
jne 0x1007c8b8
cmp dword [ebp - 0x284], 0x4c
je 0x1007b38f
push ecx
push ecx
mov ecx, 0xc000a083
call fcn.1007a759
mov edx, eax
jmp 0x1007c8b8
push ebx
lea edx, [ebp - 0x294]
mov dword [ebx], 9
mov ecx, esi
call fcn.1007ada3
mov edx, eax
test edx, edx
js 0x1007c8b8
cmp byte [ebp - 0x280], 0
jne 0x1007c8b8
cmp dword [ebx], 9
je 0x1007c8b8
cmp dword [ebx], 0xa
jne 0x1007b251
jmp 0x1007c8b8
xor eax, eax
mov dword [ebp - 0x2bc], eax
cmp byte [esi + 0xe0], al
je 0x1007b4a8
and dword [ebx], eax
mov dword [ebx + 0x40], 0x14
lea edi, [ebx + 0x28]
mov dword [ebx + 0x38], ecx
lea esi, [ebp - 0x294]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x1007c8af
mov dword [ebx], 2
mov dword [ebx + 0x58], ecx
mov dword [ebx + 0x5c], edi
jmp 0x1007b51c
cmp byte [ebp - 0x280], 0
mov eax, dword [ebp - 0x284]
jne 0x1007b536
cmp eax, 4
je 0x1007b536
cmp eax, 0x34
je 0x1007c8b8
cmp eax, 1
je 0x1007b536
sub eax, 0x37
je 0x1007b513
sub eax, 1
je 0x1007b50e
sub eax, 1
je 0x1007b509
dec eax
sub eax, 1
jne 0x1007b51c
mov edi, dword [ebp - 0x2bc]
test edi, edi
je 0x1007b51c
lea esi, [ebp - 0x294]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x2a0]
jmp 0x1007b516
lea eax, [ebx + 0x38]
jmp 0x1007b516
lea eax, [ebx + 0x48]
jmp 0x1007b516
lea eax, [ebx + 0x28]
mov dword [ebp - 0x2bc], eax
push 1
lea edx, [ebp - 0x294]
mov ecx, esi
call fcn.10074697
mov edx, eax
test edx, edx
jns 0x1007b4b6
jmp 0x1007c8e2
cmp eax, 0x34
je 0x1007c8b8
and dword [ebx], 0
lea edi, [ebx + 0x28]
lea esi, [ebp - 0x294]
mov dword [ebx + 0x40], 0x13
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x1007c8a6
cmp eax, 0x4f
je 0x1007b56b
cmp eax, 0x65
jne 0x1007c8b8
jmp 0x1007b5a1
push 1
lea edx, [ebp - 0x294]
mov ecx, esi
call fcn.10074697
mov edx, eax
test edx, edx
js 0x1007c8b8
cmp byte [ebp - 0x280], 0
jne 0x1007c8b8
mov eax, dword [ebp - 0x284]
cmp eax, 0x4f
je 0x1007b56b
cmp eax, 0x65
jne 0x1007b5ac
mov dword [ebx], 0xc
jmp 0x1007c8b8
and dword [ebx + 0x34], 0
and dword [ebx + 0x2c], 0
cmp eax, 0x51
jne 0x1007b62b
lea edi, [ebx + 0x28]
lea esi, [ebp - 0x294]
movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x294]
push 1
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x2a0]
mov ecx, esi
call fcn.10074697
mov edx, eax
test edx, edx
js 0x1007c8b8
cmp byte [ebp - 0x280], 0
jne 0x1007c8b8
cmp dword [ebp - 0x284], 0x52
jne case.0x1007b685.92
push 1
lea edx, [ebp - 0x294]
mov ecx, esi
call fcn.10074697
mov edx, eax
test edx, edx
js 0x1007c8b8
cmp byte [ebp - 0x280], 0
jne 0x1007c8b8
mov eax, dword [ebp - 0x284]
cmp eax, 0x50
jne case.0x1007b685.92
lea edi, [ebx + 0x38]
mov dword [ebx], 0xb
lea esi, [ebp - 0x294]
movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x294]
push 1
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x2a0]
mov ecx, esi
call fcn.10074697
mov edx, eax
test edx, edx
js 0x1007c8b8
cmp byte [ebp - 0x280], 0
jne 0x1007c8b8
mov eax, dword [ebp - 0x284]
add eax, 0xffffffad
cmp eax, 0xb
ja case.0x1007b685.92
jmp dword [eax*4 + 0x1007c907]
and dword [ebx + 0x48], 0
push 1
lea edx, [ebp - 0x294]
mov ecx, esi
call fcn.10074697
mov edx, eax
test edx, edx
js 0x1007c8b8
cmp byte [ebp - 0x280], 0
jne 0x1007c8b8
mov eax, dword [ebp - 0x284]
mov dword [ebx + 0x5c], 3
sub eax, 0x5f
je 0x1007b875
sub eax, 1
je 0x1007b869
sub eax, 1
je 0x1007b7e4
sub eax, 1
je 0x1007b811
jmp case.0x1007b685.92
mov dword [ebx + 0x48], 1
jmp 0x1007b690
mov dword [ebx + 0x48], 2
jmp 0x1007b690
mov dword [ebx + 0x48], 3
jmp 0x1007b690
mov dword [ebx + 0x48], 4
jmp 0x1007b690
mov dword [ebx + 0x48], 5
jmp 0x1007b690
mov dword [ebx + 0x48], 6
jmp 0x1007b690
mov dword [ebx + 0x48], 7
jmp 0x1007b690
push 1
lea edx, [ebp - 0x294]
mov ecx, esi
call fcn.10074697
mov edx, eax
test edx, edx
js 0x1007c8b8
cmp byte [ebp - 0x280], 0
jne 0x1007c8b8
cmp dword [ebp - 0x284], 0x5c
jne case.0x1007b685.94
mov dword [ebx + 0x48], 9
lea edi, [ebx + 0x4c]
lea esi, [ebp - 0x294]
movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x294]
push 1
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x2a0]
mov ecx, esi
call fcn.10074697
mov edx, eax
test edx, edx
js 0x1007c8b8
cmp byte [ebp - 0x280], 0
je 0x1007b690
jmp 0x1007c8b8
push 1
lea edx, [ebp - 0x294]
mov ecx, esi
call fcn.10074697
mov edx, eax
test edx, edx
js 0x1007c8b8
cmp byte [ebp - 0x280], 0
jne 0x1007c8b8
cmp dword [ebp - 0x284], 0x5c
jne case.0x1007b685.92
mov dword [ebx + 0x48], 8
jmp 0x1007b76a
push 1
lea edx, [ebp - 0x294]
mov dword [ebx + 0x5c], 2
mov ecx, esi
call fcn.10074697
mov edx, eax
test edx, edx
js 0x1007c8b8
cmp byte [ebp - 0x280], 0
jne 0x1007c8b8
push 1
lea edx, [ebp - 0x294]
mov ecx, esi
call fcn.10074697
mov edx, eax
test edx, edx
js 0x1007c8b8
cmp byte [ebp - 0x280], 0
jne 0x1007c8b8
cmp dword [ebp - 0x284], 0x63
jne case.0x1007b685.92
mov ecx, dword [ebp - 0x2a0]
lea edi, [ebx + 0x60]
lea esi, [ebp - 0x294]
movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x294]
push 1
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.10074697
jmp 0x1007b431
mov dword [ebx + 0x5c], 1
jmp 0x1007c8b8
and dword [ebx + 0x5c], 0
jmp 0x1007c8b8
je 0x1007c7d0
dec eax
sub eax, 1
je 0x1007c75c
dec eax
sub eax, 1
je 0x1007c739
sub eax, 1
je 0x1007bd1a
sub eax, 0x1d
je 0x1007ba39
sub eax, 6
je 0x1007b968
sub eax, 5
jne 0x1007c8b8
mov dword [ebp - 0x298], eax
lea edi, [ebp - 0x304]
mov dword [ebp - 0x2b4], eax
mov dword [ebp - 0x27c], eax
push 1
lea edx, [edi - 0x14]
mov ecx, esi
call fcn.10074697
mov edx, eax
test edx, edx
js 0x1007b91e
cmp byte [edi], 0
jne 0x1007b91e
mov ecx, dword [ebp - 0x27c]
mov eax, dword [edi - 4]
cmp eax, dword [ecx + 0x100108b8]
mov eax, dword [ebp - 0x2b4]
jne 0x1007b91a
add ecx, 0xc
inc eax
add edi, 0x18
mov dword [ebp - 0x2b4], eax
mov dword [ebp - 0x27c], ecx
cmp ecx, 0x18
jne 0x1007b8d4
mov ecx, eax
jmp 0x1007b924
mov ecx, dword [ebp - 0x298]
test edx, edx
js 0x1007b945
cmp ecx, 2
jne 0x1007b945
mov dword [ebx], 0xd
lea esi, [ebp - 0x318]
lea edi, [ebx + 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x1007c8a6
and dword [ebx], 0
lea esi, [ebp - 0x318]
imul eax, ecx, 0x18
lea edi, [ebx + 0x28]
add esi, eax
imul eax, ecx, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0x100108bc]
jmp 0x1007c8a3
push 1
lea edx, [ebp - 0x294]
mov ecx, esi
call fcn.10074697
mov edx, eax
test edx, edx
js 0x1007ba30
cmp byte [ebp - 0x280], 0
jne 0x1007ba30
cmp dword [ebp - 0x284], 0x2a
jne 0x1007ba30
mov eax, dword [ebp - 0x2a8]
lea edi, [ebx + 0x28]
lea esi, [ebp - 0x294]
mov dword [ebx + 0x48], eax
mov eax, dword [ebp - 0x2a4]
movsd dword es:[edi], dword [esi]
mov dword [ebx], 5
mov dword [ebx + 0x4c], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x1007b9f9
cmp byte [ebp - 0x280], 0
jne 0x1007ba12
cmp dword [ebp - 0x284], 0x2b
jne 0x1007b9e3
lea edi, [ebx + 0x38]
lea esi, [ebp - 0x294]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x1007b9f9
cmp dword [ebp - 0x284], 0x29
je 0x1007c8b8
cmp dword [ebp - 0x284], 4
je 0x1007ba1b
mov ecx, dword [ebp - 0x2a0]
lea edx, [ebp - 0x294]
push 1
call fcn.10074697
mov edx, eax
test edx, edx
jns 0x1007b9c2
mov dword [ebx + 0x40], 0x10
jmp 0x1007ba22
mov dword [ebx + 0x40], 0x11
and dword [ebx], 0
lea esi, [ebp - 0x294]
jmp 0x1007b939
mov dword [ebx + 0x40], 0x12
jmp 0x1007ba22
and dword [ebp - 0x2b4], 0
lea eax, [ebp - 0x2b4]
dec dword [esi + 0xe4]
lea ecx, [esi + 0xe8]
mov edx, dword [esi + 0xe4]
push 0
push eax
call fcn.1007d285
test eax, eax
js 0x1007c8f2
push 1
lea edx, [ebp - 0x294]
mov ecx, esi
call fcn.10074697
mov edx, eax
test edx, edx
js 0x1007bcfe
cmp byte [ebp - 0x280], 0
jne 0x1007bcfe
cmp dword [ebp - 0x284], 0x23
je 0x1007baa4
cmp dword [ebp - 0x284], 0x26
jne 0x1007bcfe
cmp dword [ebp - 0x284], 0x26
jne 0x1007bb3b
lea edi, [ebx + 0x28]
lea esi, [ebp - 0x294]
movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x294]
push 1
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [ebx + 0x48]
lea esi, [ebp - 0x294]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x2a0]
mov ecx, esi
call fcn.10074697
mov edx, eax
test edx, edx
js 0x1007bb1f
cmp byte [ebp - 0x280], 0
jne 0x1007bb1f
cmp dword [ebp - 0x284], 0x27
jne 0x1007bb1f
push 1
lea edx, [ebp - 0x294]
mov ecx, esi
call fcn.10074697
mov edx, eax
test edx, edx
js 0x1007bb1f
cmp byte [ebp - 0x280], 0
jne 0x1007bb1f
cmp dword [ebp - 0x284], 0x23
je 0x1007bb3b
and dword [ebx], 0
lea esi, [ebp - 0x294]
lea edi, [ebx + 0x28]
mov dword [ebx + 0x40], 7
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x1007c8a6
mov eax, dword [ebp - 0x2a8]
lea edi, [ebx + 0x38]
lea esi, [ebp - 0x294]
movsd dword es:[edi], dword [esi]
push 0x10
pop ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x2b4]
lea edi, [ebx + 0x60]
add esi, 0x28
rep movsd dword es:[edi], dword [esi]
dec dword [ebx + 4]
mov edi, dword [ebp - 0x2a0]
mov dword [ebx + 0x58], eax
mov eax, dword [ebp - 0x2a4]
mov dword [ebx + 0x5c], eax
mov dword [ebx], 4
jmp 0x1007bb97
cmp byte [ebp - 0x280], 0
jne 0x1007bbac
cmp dword [ebp - 0x284], 4
je 0x1007bbac
cmp dword [ebp - 0x284], 0x25
je 0x1007bbdc
push 1
lea edx, [ebp - 0x294]
mov ecx, edi
call fcn.10074697
mov edx, eax
test edx, edx
jns 0x1007bb7c
mov eax, dword [ebp - 0x2a8]
lea edi, [ebx + 0x28]
and dword [ebx], 0
lea esi, [ebp - 0x294]
movsd dword es:[edi], dword [esi]
lea ecx, [ebx + 0x38]
mov dword [ecx], eax
mov eax, dword [ebp - 0x2a4]
mov dword [ebx + 0x40], 6
movsd dword es:[edi], dword [esi]
mov dword [ecx + 4], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x1007c8b8
cmp dword [ebp - 0x2cc], 0
je 0x1007bc74
mov esi, dword [ebp - 0x2b4]
lea edi, [ebp - 0x2e8]
xor eax, eax
and dword [ebp - 0x27c], 0
stosd dword es:[edi], eax
xor edx, edx
mov ecx, dword [esi + 4]
inc ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x2e8]
mov edi, dword [ebp - 0x2cc]
push eax
lea eax, [ebp - 0x27c]
push eax
push ecx
push ebx
mov ecx, edi
call fcn.1007aca8
mov edx, eax
cmp edx, 0xc000a083
jne 0x1007bc57
mov eax, dword [ebp - 0x27c]
lea esi, [ebp - 0x2e8]
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 0x2a8]
lea ecx, [ebx + 0x38]
mov dword [ecx], eax
mov eax, dword [ebp - 0x2a4]
mov dword [ecx + 4], eax
jmp 0x1007c7ae
test edx, edx
js 0x1007c8b8
mov edx, dword [esi + 4]
mov ecx, edi
inc edx
call fcn.1007aa56
mov edx, eax
test edx, edx
js 0x1007c8b8
lea eax, [ebp - 0x2b4]
push eax
lea ecx, [ebx + 0x38]
push ecx
lea eax, [ebx + 0x60]
push eax
mov eax, dword [ebp - 0x2a0]
push eax
mov esi, dword [eax + 0xc0]
mov ecx, esi
call dword [0x10087410]
call esi
mov edx, eax
mov eax, dword [ebp - 0x2b4]
test eax, eax
jne 0x1007bcdf
test edx, edx
js 0x1007c8b8
lea eax, [ebp - 0x2b4]
push eax
lea eax, [ebx + 0x48]
push eax
lea eax, [ebx + 0x80]
push eax
mov eax, dword [ebp - 0x2a0]
push eax
mov esi, dword [eax + 0xc0]
mov ecx, esi
call dword [0x10087410]
call esi
mov edx, eax
mov eax, dword [ebp - 0x2b4]
test edx, edx
js 0x1007c8b8
test eax, eax
je 0x1007c8b8
lea esi, [ebx + 0x10]
mov dword [ebx + 0x40], 0x1c
jmp 0x1007bc3e
and dword [ebx], 0
lea edi, [ebx + 0x28]
lea esi, [ebp - 0x294]
mov dword [ebx + 0x40], 8
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x1007c8a6
mov al, byte [esi + 0xe0]
test al, al
je 0x1007bd4e
cmp dword [esi + 0xe4], 0
jne 0x1007bd4e
lea esi, [ebp - 0x294]
mov dword [ebx + 0x40], 0x1d
mov dword [ebx + 0x38], ecx
and dword [ebx], 0
lea edi, [ebx + 0x28]
movsd dword es:[edi], dword [esi]
xor edx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x1007c8af
and dword [ebp - 0x2c4], 0
and dword [ebp - 0x2d0], 0
test al, al
jne 0x1007bd67
mov byte [esi + 0xe0], 1
push 1
lea edx, [ebp - 0x294]
mov ecx, esi
call fcn.10074697
mov edx, eax
test edx, edx
js 0x1007be2c
cmp byte [ebp - 0x280], 0
jne 0x1007be2c
mov ecx, dword [ebp - 0x284]
cmp ecx, 6
je 0x1007bda1
cmp ecx, 0x16
jne 0x1007be2c
mov eax, dword [ebp - 0x2a8]
mov dword [ebx], 3
mov dword [ebx + 0x58], eax
mov dword [ebx + 0x5c], edi
cmp ecx, 0x16
jne 0x1007be44
lea edi, [ebx + 0x38]
lea esi, [ebp - 0x294]
movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x294]
push 1
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [ebx + 0x48]
lea esi, [ebp - 0x294]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x2a0]
mov ecx, esi
call fcn.10074697
mov edx, eax
test edx, edx
js 0x1007be38
cmp byte [ebp - 0x280], 0
jne 0x1007be38
cmp dword [ebp - 0x284], 0x17
jne 0x1007be38
push 1
lea edx, [ebp - 0x294]
mov ecx, esi
call fcn.10074697
mov edx, eax
test edx, edx
js 0x1007be2c
cmp byte [ebp - 0x280], 0
jne 0x1007be2c
mov ecx, dword [ebp - 0x284]
cmp ecx, 6
je 0x1007be44
mov dword [ebx + 0x40], 4
jmp 0x1007ba22
mov dword [ebx + 0x40], 5
jmp 0x1007ba22
mov eax, dword [ebp - 0x2a4]
lea edi, [ebx + 0x28]
and dword [ebx + 0x60], 0
lea esi, [ebp - 0x294]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x2d8], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x2a8]
mov dword [ebp - 0x2d4], edi
mov esi, dword [ebp - 0x2a0]
test edx, edx
js 0x1007beb4
push 0
lea edx, [ebp - 0x294]
mov ecx, esi
call fcn.10074697
mov edx, eax
test edx, edx
js 0x1007beae
lea edx, [ebp - 0x2a8]
mov ecx, esi
call fcn.10075680
lea edx, [ebp - 0x294]
mov ecx, esi
call fcn.100756bd
mov edi, dword [ebp - 0x2a8]
mov edx, eax
mov ecx, dword [ebp - 0x284]
cmp ecx, 0x1a
je 0x1007c61e
cmp ecx, 0x1b
je 0x1007c61e
cmp ecx, 4
je 0x1007c61e
cmp byte [ebp - 0x280], 0
jne 0x1007c8b8
test edx, edx
js 0x1007c8b8
mov eax, ecx
sub eax, 7
je 0x1007c34f
sub eax, 1
je 0x1007c226
sub eax, 7
je 0x1007c11f
sub eax, 9
je 0x1007c006
sub eax, 4
jne 0x1007be6d
and dword [ebp - 0x2b8], eax
xor ecx, ecx
and dword [ebp - 0x29c], eax
mov dword [ebp - 0x298], ecx
lea ecx, [ebp - 0x144]
mov dword [ebp - 0x27c], ecx
lea edx, [ecx - 0x14]
mov ecx, esi
push 1
call fcn.10074697
mov edx, eax
test edx, edx
js 0x1007bf92
mov ecx, dword [ebp - 0x27c]
cmp byte [ecx], 0
jne 0x1007bf92
mov ebx, dword [ebp - 0x29c]
mov eax, dword [ecx - 4]
cmp eax, dword [ebx + 0x100108d0]
mov ebx, dword [ebp - 0x2b4]
jne 0x1007bf8a
mov eax, dword [ebp - 0x29c]
add ecx, 0x18
inc dword [ebp - 0x298]
add eax, 0xc
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x27c], ecx
cmp eax, 0x30
jne 0x1007bf33
mov ecx, dword [ebp - 0x298]
jmp 0x1007bf98
mov ecx, dword [ebp - 0x2b8]
test edx, edx
js 0x1007c4f1
cmp ecx, 4
jne 0x1007c4c2
mov eax, dword [ebp - 0x2bc]
test eax, eax
je 0x1007c4b4
mov edx, dword [ebx + 0x60]
lea ecx, [ebp - 0x2c4]
push 1
push ecx
mov ecx, eax
call fcn.1007d285
mov dword [ebp - 0x29c], eax
test eax, eax
js 0x1007c8f2
mov ebx, dword [ebp - 0x2c4]
push 0x4c
push 0
push ebx
call sub.msvcrt.dll_memset
mov edi, ebx
lea esi, [ebp - 0x294]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [ebp - 0x128]
lea edi, [ebx + 0x20]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x1007c493
and dword [ebp - 0x27c], 0
xor ecx, ecx
and dword [ebp - 0x298], 0
mov dword [ebp - 0x29c], ecx
lea ecx, [ebp - 0x1d4]
mov dword [ebp - 0x2b8], ecx
lea edx, [ecx - 0x14]
mov ecx, esi
push 1
call fcn.10074697
mov edx, eax
test edx, edx
js 0x1007c087
mov ecx, dword [ebp - 0x2b8]
cmp byte [ecx], 0
jne 0x1007c087
mov edi, dword [ebp - 0x298]
mov eax, dword [ecx - 4]
cmp eax, dword [edi + 0x10010870]
mov edi, dword [ebp - 0x2a8]
jne 0x1007c07f
mov eax, dword [ebp - 0x298]
add ecx, 0x18
inc dword [ebp - 0x29c]
add eax, 0xc
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x2b8], ecx
cmp eax, 0x48
jne 0x1007c028
mov ecx, dword [ebp - 0x29c]
jmp 0x1007c08d
mov ecx, dword [ebp - 0x27c]
test edx, edx
js 0x1007c528
cmp ecx, 6
jne 0x1007c4fc
mov eax, dword [ebp - 0x2bc]
test eax, eax
je 0x1007c4b4
mov edx, dword [ebx + 0x60]
lea ecx, [ebp - 0x2c4]
push 1
push ecx
mov ecx, eax
call fcn.1007d285
mov edx, eax
test edx, edx
js 0x1007c8e2
mov eax, dword [ebp - 0x2c4]
lea esi, [ebp - 0x1d0]
mov edi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [eax + 0x10]
lea esi, [ebp - 0x294]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [eax + 0x30]
lea esi, [ebp - 0x294]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [eax + 0x20]
lea esi, [ebp - 0x188]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov word [eax + 0x48], 0
mov edi, dword [ebp - 0x2a8]
mov ecx, dword [ebp - 0x2a4]
mov dword [eax + 0x40], edi
mov dword [eax + 0x44], ecx
jmp 0x1007c4b4
and dword [ebp - 0x27c], 0
xor ecx, ecx
and dword [ebp - 0x298], 0
mov dword [ebp - 0x29c], ecx
lea ecx, [ebp - 0x264]
mov dword [ebp - 0x2b8], ecx
lea edx, [ecx - 0x14]
mov ecx, esi
push 1
call fcn.10074697
mov edx, eax
test edx, edx
js 0x1007c1a0
mov ecx, dword [ebp - 0x2b8]
cmp byte [ecx], 0
jne 0x1007c1a0
mov edi, dword [ebp - 0x298]
mov eax, dword [ecx - 4]
cmp eax, dword [edi + 0x10010810]
mov edi, dword [ebp - 0x2a8]
jne 0x1007c198
mov eax, dword [ebp - 0x298]
add ecx, 0x18
inc dword [ebp - 0x29c]
add eax, 0xc
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x2b8], ecx
cmp eax, 0x48
jne 0x1007c141
mov ecx, dword [ebp - 0x29c]
jmp 0x1007c1a6
mov ecx, dword [ebp - 0x27c]
test edx, edx
js 0x1007c55c
cmp ecx, 6
jne 0x1007c530
mov eax, dword [ebp - 0x2bc]
test eax, eax
je 0x1007c4b4
mov edx, dword [ebx + 0x60]
lea ecx, [ebp - 0x2c4]
push 1
push ecx
mov ecx, eax
call fcn.1007d285
mov edx, eax
test edx, edx
js 0x1007c8e2
mov eax, dword [ebp - 0x2c4]
lea esi, [ebp - 0x260]
mov edi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [eax + 0x10]
lea esi, [ebp - 0x294]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [eax + 0x30]
lea esi, [ebp - 0x294]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [eax + 0x20]
lea esi, [ebp - 0x218]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov word [eax + 0x48], 0x100
jmp 0x1007c108
and dword [ebp - 0x2c0], 0
xor ecx, ecx
and dword [ebp - 0x298], 0
mov dword [ebp - 0x27c], ecx
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x2b8], ecx
lea edx, [ecx - 0x14]
mov ecx, esi
push 1
call fcn.10074697
mov edx, eax
mov dword [ebp - 0x29c], edx
test edx, edx
js 0x1007c2aa
mov ecx, dword [ebp - 0x2b8]
cmp byte [ecx], 0
jne 0x1007c2aa
mov edi, dword [ebp - 0x298]
mov eax, dword [ecx - 4]
cmp eax, dword [edi + 0x100107c8]
mov edi, dword [ebp - 0x2a8]
jne 0x1007c2a2
mov eax, dword [ebp - 0x298]
add ecx, 0x18
inc dword [ebp - 0x27c]
add eax, 0xc
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x2b8], ecx
cmp eax, 0x30
jne 0x1007c245
mov ecx, dword [ebp - 0x27c]
jmp 0x1007c2b0
mov ecx, dword [ebp - 0x2c0]
test edx, edx
js 0x1007c5a5
cmp ecx, 4
jne 0x1007c576
mov eax, dword [ebp - 0x2cc]
test eax, eax
je 0x1007c2f6
mov edx, dword [ebx + 4]
lea ecx, [ebp - 0x38]
push ecx
inc edx
mov ecx, eax
call fcn.1007a936
mov edx, eax
mov dword [ebp - 0x29c], edx
cmp edx, 0xc00000bd
je 0x1007c564
test edx, edx
js 0x1007c8e2
mov eax, dword [ebp - 0x2bc]
test eax, eax
je 0x1007c4ae
mov edx, dword [ebx + 0x60]
lea ecx, [ebp - 0x2c4]
push 1
push ecx
mov ecx, eax
call fcn.1007d285
mov dword [ebp - 0x29c], eax
test eax, eax
js 0x1007c8f2
mov ebx, dword [ebp - 0x2c4]
push 0x4c
push 0
push ebx
call sub.msvcrt.dll_memset
mov edi, ebx
mov word [ebx + 0x48], 1
lea esi, [ebp - 0x294]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [ebp - 0x38]
jmp 0x1007bffa
and dword [ebp - 0x2b8], 0
xor ecx, ecx
and dword [ebp - 0x27c], 0
mov dword [ebp - 0x298], ecx
lea ecx, [ebp - 0xe4]
mov dword [ebp - 0x2c0], ecx
lea edx, [ecx - 0x14]
mov ecx, esi
push 1
call fcn.10074697
mov edx, eax
mov dword [ebp - 0x29c], edx
test edx, edx
js 0x1007c3d6
mov ecx, dword [ebp - 0x2c0]
cmp byte [ecx], 0
jne 0x1007c3d6
mov edi, dword [ebp - 0x27c]
mov eax, dword [ecx - 4]
cmp eax, dword [edi + 0x10010948]
mov edi, dword [ebp - 0x2a8]
jne 0x1007c3ce
mov eax, dword [ebp - 0x27c]
add ecx, 0x18
inc dword [ebp - 0x298]
add eax, 0xc
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x2c0], ecx
cmp eax, 0x48
jne 0x1007c371
mov ecx, dword [ebp - 0x298]
jmp 0x1007c3dc
mov ecx, dword [ebp - 0x2b8]
test edx, edx
js 0x1007c619
cmp ecx, 6
jne 0x1007c5ed
mov eax, dword [ebp - 0x2cc]
test eax, eax
je 0x1007c42c
mov edx, dword [ebx + 4]
lea ecx, [ebp - 0xe0]
push ecx
lea ecx, [ebp - 0x98]
inc edx
push ecx
mov ecx, eax
call fcn.1007a7bd
mov edx, eax
mov dword [ebp - 0x29c], edx
cmp edx, 0xc00000bd
je 0x1007c5cf
test edx, edx
js 0x1007c8e2
mov eax, dword [ebp - 0x2bc]
test eax, eax
je 0x1007c4ae
mov edx, dword [ebx + 0x60]
lea ecx, [ebp - 0x2c4]
push 1
push ecx
mov ecx, eax
call fcn.1007d285
mov dword [ebp - 0x29c], eax
test eax, eax
js 0x1007c8f2
mov ebx, dword [ebp - 0x2c4]
push 0x4c
push 0
push ebx
call sub.msvcrt.dll_memset
mov edi, ebx
lea esi, [ebp - 0xe0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [ebx + 0x30]
lea esi, [ebp - 0x294]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [ebx + 0x20]
lea esi, [ebp - 0x98]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov word [ebx + 0x48], 1
mov edi, dword [ebp - 0x2a8]
add esp, 0xc
mov eax, dword [ebp - 0x2a4]
mov dword [ebx + 0x40], edi
mov dword [ebx + 0x44], eax
mov ebx, dword [ebp - 0x2b4]
mov edx, dword [ebp - 0x29c]
inc dword [ebx + 0x60]
mov ecx, dword [ebp - 0x284]
jmp 0x1007be6d
mov eax, dword [ebp - 0x2a4]
lea esi, [ebp - 0x158]
and dword [ebx], 0
mov dword [ebx + 0x3c], eax
imul eax, ecx, 0x18
mov dword [ebx + 0x38], edi
lea edi, [ebx + 0x28]
add esi, eax
imul eax, ecx, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0x100108d4]
jmp 0x1007c59d
lea esi, [ebp - 0x158]
jmp 0x1007c5a8
mov eax, dword [ebp - 0x2a4]
lea esi, [ebp - 0x1e8]
and dword [ebx], 0
mov dword [ebx + 0x3c], eax
imul eax, ecx, 0x18
mov dword [ebx + 0x38], edi
lea edi, [ebx + 0x28]
add esi, eax
imul eax, ecx, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0x10010874]
jmp 0x1007c59d
lea esi, [ebp - 0x1e8]
jmp 0x1007c5a8
mov eax, dword [ebp - 0x2a4]
lea esi, [ebp - 0x278]
and dword [ebx], 0
mov dword [ebx + 0x3c], eax
imul eax, ecx, 0x18
mov dword [ebx + 0x38], edi
lea edi, [ebx + 0x28]
add esi, eax
imul eax, ecx, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0x10010814]
jmp 0x1007c59d
lea esi, [ebp - 0x278]
jmp 0x1007c5a8
mov dword [ebx + 0x38], edi
lea esi, [ebp - 0x38]
mov dword [ebx + 0x40], 0x1f
jmp 0x1007bd3d
mov eax, dword [ebp - 0x2a4]
lea esi, [ebp - 0x68]
and dword [ebx], 0
mov dword [ebx + 0x3c], eax
imul eax, ecx, 0x18
mov dword [ebx + 0x38], edi
lea edi, [ebx + 0x28]
add esi, eax
imul eax, ecx, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0x100107cc]
mov dword [ebx + 0x40], eax
jmp 0x1007c8b8
lea esi, [ebp - 0x68]
mov eax, dword [ebp - 0x2a4]
and dword [ebx], 0
mov dword [ebx + 0x3c], eax
imul eax, ecx, 0x18
mov dword [ebx + 0x38], edi
lea edi, [ebx + 0x28]
add esi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x40], 0xb
jmp 0x1007c8b8
and dword [ebx], 0
lea esi, [ebp - 0xe0]
lea edi, [ebx + 0x28]
mov dword [ebx + 0x40], 0x1e
movsd dword es:[edi], dword [esi]
xor edx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x1007c8a6
mov eax, dword [ebp - 0x2a4]
lea esi, [ebp - 0xf8]
and dword [ebx], 0
mov dword [ebx + 0x3c], eax
imul eax, ecx, 0x18
mov dword [ebx + 0x38], edi
lea edi, [ebx + 0x28]
add esi, eax
imul eax, ecx, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0x1001094c]
jmp 0x1007c59d
and dword [ebx], 0
jmp 0x1007c5c3
cmp byte [ebp - 0x280], 0
jne 0x1007c8b8
test edx, edx
js 0x1007c8b8
xor eax, eax
lea edi, [ebp - 0x2b0]
stosd dword es:[edi], eax
xor esi, esi
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebp - 0x2cc]
test eax, eax
je 0x1007c696
mov ecx, dword [ebx + 4]
lea edi, [ebp - 0x2b0]
xor eax, eax
mov edx, dword [ebp - 0x2bc]
and dword [ebp - 0x2c0], esi
inc ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x2b0]
push eax
lea eax, [ebp - 0x2c0]
push eax
push ecx
mov ecx, dword [ebp - 0x2cc]
push ebx
call fcn.1007aca8
mov esi, dword [ebp - 0x2c0]
mov edx, eax
mov ecx, dword [ebp - 0x284]
mov eax, dword [ebp - 0x2cc]
cmp edx, 0xc000a083
jne 0x1007c6c7
mov eax, dword [ebp - 0x2d4]
lea edi, [ebx + 0x28]
and dword [ebx], 0
xor edx, edx
mov dword [ebx + 0x40], esi
lea esi, [ebp - 0x2b0]
movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 0x2d8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x1007c8b5
test edx, edx
js 0x1007c8e2
cmp ecx, 0x1b
jne 0x1007c6fa
mov byte [ebx + 0x64], 1
test eax, eax
je 0x1007c8b8
mov edx, dword [ebx + 4]
mov ecx, eax
inc edx
call fcn.1007aa56
mov edx, eax
test edx, edx
jns 0x1007c8b8
jmp 0x1007c8e2
mov edi, dword [ebp - 0x2a0]
lea eax, [ebp - 0x2d0]
mov edx, dword [ebx + 4]
push 1
push eax
lea ecx, [edi + 0xe8]
call fcn.1007d285
mov edx, eax
test edx, edx
js 0x1007c8e2
inc dword [edi + 0xe4]
mov esi, ebx
mov edi, dword [ebp - 0x2d0]
push 0x28
pop ecx
rep movsd dword es:[edi], dword [esi]
jmp 0x1007c8b8
cmp dword [esi + 0xe4], 0
jne 0x1007c74d
mov dword [ebx], 1
jmp 0x1007c8b8
and dword [ebx], 0
mov dword [ebx + 0x40], 9
jmp 0x1007b493
cmp byte [esi + 0xe0], 0
je 0x1007c7c5
cmp dword [esi + 0xe4], 0
jne 0x1007c7c5
lea eax, [ebp - 0x2c5]
mov ecx, esi
push eax
lea edx, [ebp - 0x294]
call fcn.10075aa1
mov edx, eax
test edx, edx
js 0x1007c8b8
cmp byte [ebp - 0x2c5], 0
jne 0x1007c7bf
mov eax, dword [ebp - 0x2a8]
lea esi, [ebp - 0x294]
mov dword [ebx + 0x38], eax
mov dword [ebx + 0x3c], edi
mov dword [ebx + 0x40], 0x1d
and dword [ebx], 0
lea edi, [ebx + 0x28]
movsd dword es:[edi], dword [esi]
xor edx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x1007c8b8
mov ecx, dword [ebp - 0x2a8]
mov dword [ebx], 7
jmp 0x1007b493
xor eax, eax
cmp byte [esi + 0xe0], al
je 0x1007c803
cmp dword [esi + 0xe4], eax
jne 0x1007c803
mov dword [ebx + 0x3c], edi
lea esi, [ebp - 0x294]
lea edi, [ebx + 0x28]
mov dword [ebx + 0x38], ecx
movsd dword es:[edi], dword [esi]
mov dword [ebx], eax
mov dword [ebx + 0x40], 0x1d
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x1007b431
mov dword [ebp - 0x2c0], eax
lea edi, [ebp - 0x334]
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x2d0], eax
push 1
lea edx, [edi - 0x14]
mov ecx, esi
call fcn.10074697
mov edx, eax
test edx, edx
js 0x1007c865
cmp byte [edi], 0
jne 0x1007c865
mov ecx, dword [ebp - 0x2d0]
mov eax, dword [edi - 4]
cmp eax, dword [ecx + 0x10010858]
mov eax, dword [ebp - 0x27c]
jne 0x1007c861
add ecx, 0xc
inc eax
add edi, 0x18
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x2d0], ecx
cmp ecx, 0x18
jne 0x1007c81b
mov ecx, eax
jmp 0x1007c86b
mov ecx, dword [ebp - 0x2c0]
test edx, edx
js 0x1007c885
cmp ecx, 2
jne 0x1007c885
mov dword [ebx], 8
lea esi, [ebp - 0x348]
jmp 0x1007b939
and dword [ebx], 0
lea esi, [ebp - 0x348]
imul eax, ecx, 0x18
lea edi, [ebx + 0x28]
add esi, eax
imul eax, ecx, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0x1001085c]
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 0x2a8]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 0x2a4]
mov dword [ebx + 0x3c], eax
mov eax, dword [ebp - 0x2a0]
mov eax, dword [eax + 0x14]
sub eax, dword [ebx + 0x10]
cmp byte [ebp - 0x280], 0
mov dword [ebx + 0x14], eax
je 0x1007c8e2
test edx, edx
js 0x1007c8e2
push ecx
push ecx
mov ecx, 0xc000a083
call fcn.1007a759
mov edx, eax
mov eax, edx
jmp 0x1007c8f2
push ecx
push ecx
mov ecx, 0xc000000d
call fcn.1007a759
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10083b20
mov esp, ebp
pop ebp
ret 8