Function at 0x450370
Capabilities:
Parse credit card information

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x104
mov eax, dword [0x45b0d0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, ecx
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xbc], edi
mov dword [ebp - 0xd4], ebx
mov dword [ebp - 0xc4], eax
test edi, edi
je 0x4517fc
test ebx, ebx
je 0x4517fc
test eax, eax
je 0x4503c6
cmp dword [eax + 8], 0x4c
jb 0x4517fc
push 0xa0
push 0
push ebx
call sub.ntdll.dll_memset
add esp, 0xc
lea edx, [ebp - 0xa0]
mov ecx, edi
call fcn.0044f641
push 1
lea edx, [ebp - 0xb8]
mov ecx, edi
call fcn.0044e564
mov edx, eax
test edx, edx
js 0x4517ea
cmp byte [ebp - 0xa4], 0
jne 0x4517f8
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xa0]
mov esi, dword [ebp - 0x9c]
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x20], ecx
mov dword [ebx + 0x24], esi
mov eax, dword [edi + 0xe4]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0xa8]
cmp eax, 0x30
jle 0x4509ff
cmp eax, 0x4c
jg 0x4506dc
je 0x4506ec
cmp eax, 0x33
je 0x4505ef
cmp eax, 0x3f
jle 0x4517ce
cmp eax, 0x41
jle 0x450474
cmp eax, 0x44
jle 0x4517ce
cmp eax, 0x46
jg 0x4517ce
push 1
lea edx, [ebp - 0xb8]
mov ecx, edi
call fcn.0044e564
mov edx, eax
test edx, edx
js 0x4517ce
cmp byte [ebp - 0xa4], 0
jne 0x4517ce
cmp dword [ebp - 0xa8], 0x66
je 0x4505ad
cmp dword [ebp - 0xa8], 0x4b
je 0x4504be
cmp dword [ebp - 0xa8], 0x47
jne 0x450474
jmp 0x4505d8
mov dword [ebx], 0xa
push 1
lea edx, [ebp - 0xb8]
mov ecx, edi
call fcn.0044e564
mov edx, eax
test edx, edx
js 0x4517ce
cmp byte [ebp - 0xa4], 0
jne 0x4517ce
cmp dword [ebp - 0xa8], 0x4b
je 0x4504c4
cmp dword [ebp - 0xa8], 0x4c
jne 0x45051c
and dword [ebx + 0x2c], 0
and dword [ebx + 0x34], 0
lea edi, [ebx + 0x38]
lea esi, [ebp - 0xb8]
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 edi, dword [ebp - 0xbc]
jmp 0x4505d8
cmp dword [ebp - 0xa8], 0x4d
jne case.0x450806.92
lea edi, [ebx + 0x28]
lea esi, [ebp - 0xb8]
movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0xb8]
push 1
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xbc]
mov ecx, edi
call fcn.0044e564
mov edx, eax
test edx, edx
js 0x4517ce
cmp byte [ebp - 0xa4], 0
jne 0x4517ce
cmp dword [ebp - 0xa8], 0x4e
jne case.0x450806.92
push 1
lea edx, [ebp - 0xb8]
mov ecx, edi
call fcn.0044e564
mov edx, eax
test edx, edx
js 0x4517ce
cmp byte [ebp - 0xa4], 0
jne 0x4517ce
cmp dword [ebp - 0xa8], 0x4c
je 0x450504
push ecx
push ecx
mov ecx, 0xc000a083
call fcn.00452475
mov edx, eax
jmp 0x4517ce
push ebx
lea edx, [ebp - 0xb8]
mov dword [ebx], 9
mov ecx, edi
call fcn.0044fe70
mov edx, eax
test edx, edx
js 0x4517ce
cmp byte [ebp - 0xa4], 0
jne 0x4517ce
cmp dword [ebx], 9
je 0x4517ce
cmp dword [ebx], 0xa
jne 0x4503c6
jmp 0x4517ce
xor eax, eax
mov dword [ebp - 0xc0], eax
cmp byte [edi + 0xe0], al
je 0x45061d
and dword [ebx], eax
mov dword [ebx + 0x40], 0x14
lea edi, [ebx + 0x28]
mov dword [ebx + 0x38], ecx
lea esi, [ebp - 0xb8]
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 0x4517c5
mov dword [ebx + 0x5c], esi
mov esi, eax
mov dword [ebx], 2
mov dword [ebx + 0x58], ecx
push 1
lea edx, [ebp - 0xb8]
mov ecx, edi
call fcn.0044e564
mov edx, eax
test edx, edx
js 0x4517f8
cmp byte [ebp - 0xa4], 0
mov eax, dword [ebp - 0xa8]
jne 0x4506b7
cmp eax, 4
je 0x4506b7
cmp eax, 0x34
je 0x4517ce
cmp eax, 1
je 0x4506b7
sub eax, 0x37
je 0x4506a9
sub eax, 1
je 0x4506a4
sub eax, 1
je 0x45069f
dec eax
sub eax, 1
jne 0x45062b
test esi, esi
je 0x45062b
mov edi, dword [ebp - 0xc0]
lea esi, [ebp - 0xb8]
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 edi, dword [ebp - 0xbc]
xor esi, esi
mov dword [ebp - 0xc0], esi
jmp 0x45062b
lea esi, [ebx + 0x38]
jmp 0x4506ac
lea esi, [ebx + 0x48]
jmp 0x4506ac
lea esi, [ebx + 0x28]
mov dword [ebp - 0xc0], esi
jmp 0x45062b
cmp eax, 0x34
je 0x4517ce
and dword [ebx], 0
lea edi, [ebx + 0x28]
lea esi, [ebp - 0xb8]
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 0x4517bc
cmp eax, 0x4f
je 0x4506ec
cmp eax, 0x65
jne 0x4517ce
jmp 0x450722
push 1
lea edx, [ebp - 0xb8]
mov ecx, edi
call fcn.0044e564
mov edx, eax
test edx, edx
js 0x4517ce
cmp byte [ebp - 0xa4], 0
jne 0x4517ce
mov eax, dword [ebp - 0xa8]
cmp eax, 0x4f
je 0x4506ec
cmp eax, 0x65
jne 0x45072d
mov dword [ebx], 0xc
jmp 0x4517ce
and dword [ebx + 0x34], 0
and dword [ebx + 0x2c], 0
cmp eax, 0x51
jne 0x4507ac
lea edi, [ebx + 0x28]
lea esi, [ebp - 0xb8]
movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0xb8]
push 1
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xbc]
mov ecx, edi
call fcn.0044e564
mov edx, eax
test edx, edx
js 0x4517ce
cmp byte [ebp - 0xa4], 0
jne 0x4517ce
cmp dword [ebp - 0xa8], 0x52
jne case.0x450806.92
push 1
lea edx, [ebp - 0xb8]
mov ecx, edi
call fcn.0044e564
mov edx, eax
test edx, edx
js 0x4517ce
cmp byte [ebp - 0xa4], 0
jne 0x4517ce
mov eax, dword [ebp - 0xa8]
cmp eax, 0x50
jne case.0x450806.92
lea edi, [ebx + 0x38]
mov dword [ebx], 0xb
lea esi, [ebp - 0xb8]
movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0xb8]
push 1
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xbc]
mov ecx, edi
call fcn.0044e564
mov edx, eax
test edx, edx
js 0x4517ce
cmp byte [ebp - 0xa4], 0
jne 0x4517ce
mov eax, dword [ebp - 0xa8]
add eax, 0xffffffad
cmp eax, 0xb
ja case.0x450806.92
jmp dword [eax*4 + 0x45181c]
and dword [ebx + 0x48], 0
push 1
lea edx, [ebp - 0xb8]
mov ecx, edi
call fcn.0044e564
mov edx, eax
test edx, edx
js 0x4517ce
cmp byte [ebp - 0xa4], 0
jne 0x4517ce
mov eax, dword [ebp - 0xa8]
mov dword [ebx + 0x5c], 3
sub eax, 0x5f
je 0x4509f6
sub eax, 1
je 0x4509ea
sub eax, 1
je 0x450965
sub eax, 1
je 0x450992
jmp case.0x450806.92
mov dword [ebx + 0x48], 1
jmp 0x450811
mov dword [ebx + 0x48], 2
jmp 0x450811
mov dword [ebx + 0x48], 3
jmp 0x450811
mov dword [ebx + 0x48], 4
jmp 0x450811
mov dword [ebx + 0x48], 5
jmp 0x450811
mov dword [ebx + 0x48], 6
jmp 0x450811
mov dword [ebx + 0x48], 7
jmp 0x450811
push 1
lea edx, [ebp - 0xb8]
mov ecx, edi
call fcn.0044e564
mov edx, eax
test edx, edx
js 0x4517ce
cmp byte [ebp - 0xa4], 0
jne 0x4517ce
cmp dword [ebp - 0xa8], 0x5c
jne case.0x450806.94
mov dword [ebx + 0x48], 9
lea edi, [ebx + 0x4c]
lea esi, [ebp - 0xb8]
movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0xb8]
push 1
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xbc]
mov ecx, edi
call fcn.0044e564
mov edx, eax
test edx, edx
js 0x4517ce
cmp byte [ebp - 0xa4], 0
je 0x450811
jmp 0x4517ce
push 1
lea edx, [ebp - 0xb8]
mov ecx, edi
call fcn.0044e564
mov edx, eax
test edx, edx
js 0x4517ce
cmp byte [ebp - 0xa4], 0
jne 0x4517ce
cmp dword [ebp - 0xa8], 0x5c
jne case.0x450806.92
mov dword [ebx + 0x48], 8
jmp 0x4508eb
push 1
lea edx, [ebp - 0xb8]
mov dword [ebx + 0x5c], 2
mov ecx, edi
call fcn.0044e564
mov edx, eax
test edx, edx
js 0x4517ce
cmp byte [ebp - 0xa4], 0
jne 0x4517ce
push 1
lea edx, [ebp - 0xb8]
mov ecx, edi
call fcn.0044e564
mov edx, eax
test edx, edx
js 0x4517ce
cmp byte [ebp - 0xa4], 0
jne 0x4517ce
cmp dword [ebp - 0xa8], 0x63
jne case.0x450806.92
mov ecx, dword [ebp - 0xbc]
lea edi, [ebx + 0x60]
lea esi, [ebp - 0xb8]
movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0xb8]
push 1
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0044e564
jmp 0x4505a6
mov dword [ebx + 0x5c], 1
jmp 0x4517ce
and dword [ebx + 0x5c], 0
jmp 0x4517ce
je 0x451751
dec eax
sub eax, 1
je 0x4516dd
dec eax
sub eax, 1
je 0x4516ba
sub eax, 1
je 0x450e44
sub eax, 0x1d
je 0x450b5e
sub eax, 6
je 0x450a99
sub eax, 5
jne 0x4517ce
lea eax, [ebp - 0xdc]
mov ecx, edi
push eax
lea eax, [ebp - 0x38]
push eax
push 0x413b40
push 2
pop edx
call fcn.0044fc00
mov ecx, dword [ebp - 0xdc]
mov edx, eax
test edx, edx
js 0x450a79
cmp ecx, 2
jne 0x450a79
mov dword [ebx], 0xd
lea esi, [ebp - 0x38]
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 0x4517bc
and dword [ebx], 0
lea esi, [ebp - 0x38]
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 + 0x413b44]
jmp 0x4517b9
push 1
lea edx, [ebp - 0xb8]
mov ecx, edi
call fcn.0044e564
mov edx, eax
test edx, edx
js 0x450b55
cmp byte [ebp - 0xa4], 0
jne 0x450b55
cmp dword [ebp - 0xa8], 0x2a
jne 0x450b55
mov eax, dword [ebp - 0xa0]
lea edi, [ebx + 0x28]
mov dword [ebx + 0x48], eax
mov eax, dword [ebp - 0x9c]
mov dword [ebx], 5
mov dword [ebx + 0x4c], eax
lea esi, [ebp - 0xb8]
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 ecx, dword [ebp - 0xbc]
lea edx, [ebp - 0xb8]
push 1
call fcn.0044e564
mov edx, eax
test edx, edx
js 0x450b4c
cmp byte [ebp - 0xa4], 0
jne 0x450b4c
cmp dword [ebp - 0xa8], 0x2b
jne 0x450b21
lea edi, [ebx + 0x38]
jmp 0x450ae7
cmp dword [ebp - 0xa8], 0x29
je 0x4517ce
cmp dword [ebp - 0xa8], 4
jne 0x450af1
mov dword [ebx + 0x40], 0x11
and dword [ebx], 0
lea esi, [ebp - 0xb8]
jmp 0x450a6d
mov dword [ebx + 0x40], 0x10
jmp 0x450b3e
mov dword [ebx + 0x40], 0x12
jmp 0x450b3e
and dword [ebp - 0xc4], 0
lea eax, [ebp - 0xc4]
dec dword [edi + 0xe4]
lea ecx, [edi + 0xe8]
mov edx, dword [edi + 0xe4]
push 0
push eax
call fcn.00452351
test eax, eax
js 0x451808
push 1
lea edx, [ebp - 0xb8]
mov ecx, edi
call fcn.0044e564
mov edx, eax
test edx, edx
js 0x450e28
cmp byte [ebp - 0xa4], 0
jne 0x450e28
cmp dword [ebp - 0xa8], 0x23
je 0x450bc9
cmp dword [ebp - 0xa8], 0x26
jne 0x450e28
cmp dword [ebp - 0xa8], 0x26
jne 0x450c60
lea edi, [ebx + 0x28]
lea esi, [ebp - 0xb8]
movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0xb8]
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 - 0xb8]
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 - 0xbc]
mov ecx, esi
call fcn.0044e564
mov edx, eax
test edx, edx
js 0x450c44
cmp byte [ebp - 0xa4], 0
jne 0x450c44
cmp dword [ebp - 0xa8], 0x27
jne 0x450c44
push 1
lea edx, [ebp - 0xb8]
mov ecx, esi
call fcn.0044e564
mov edx, eax
test edx, edx
js 0x450c44
cmp byte [ebp - 0xa4], 0
jne 0x450c44
cmp dword [ebp - 0xa8], 0x23
je 0x450c60
and dword [ebx], 0
lea esi, [ebp - 0xb8]
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 0x4517bc
mov eax, dword [ebp - 0xa0]
lea edi, [ebx + 0x38]
lea esi, [ebp - 0xb8]
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 - 0xc4]
lea edi, [ebx + 0x60]
add esi, 0x28
rep movsd dword es:[edi], dword [esi]
dec dword [ebx + 4]
mov edi, dword [ebp - 0xbc]
mov dword [ebx + 0x58], eax
mov eax, dword [ebp - 0x9c]
mov dword [ebx + 0x5c], eax
mov dword [ebx], 4
push 1
lea edx, [ebp - 0xb8]
mov ecx, edi
call fcn.0044e564
mov edx, eax
test edx, edx
js 0x450df8
cmp byte [ebp - 0xa4], 0
jne 0x450df8
cmp dword [ebp - 0xa8], 4
je 0x450df8
cmp dword [ebp - 0xa8], 0x25
jne 0x450c9f
mov esi, dword [ebp - 0xcc]
test esi, esi
je 0x450d7a
mov eax, dword [ebp - 0xc4]
lea edi, [ebp - 0x104]
and dword [ebp - 0xd4], 0
xor edx, edx
mov ecx, dword [eax + 4]
xor eax, eax
stosd dword es:[edi], eax
inc ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0xd4]
push eax
push ecx
push ebx
mov ecx, esi
call fcn.0044fd7c
mov edx, eax
cmp edx, 0xc000a083
jne 0x450d51
mov eax, dword [ebp - 0xd4]
lea esi, [ebp - 0x104]
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 0xa0]
lea ecx, [ebx + 0x38]
mov dword [ecx], eax
mov eax, dword [ebp - 0x9c]
mov dword [ecx + 4], eax
jmp 0x45172f
test edx, edx
js 0x4517ce
mov eax, dword [ebp - 0xc4]
mov ecx, esi
mov edx, dword [eax + 4]
inc edx
call fcn.00451ff8
mov edx, eax
test edx, edx
js 0x4517ce
mov edi, dword [ebp - 0xbc]
mov esi, dword [edi + 0xc0]
lea eax, [ebp - 0xcc]
push eax
lea ecx, [ebx + 0x38]
push ecx
lea eax, [ebx + 0x60]
mov ecx, esi
push eax
push edi
call dword [0x45d240]
call esi
mov edx, eax
mov eax, dword [ebp - 0xcc]
test eax, eax
jne 0x450dd9
test edx, edx
js 0x4517ce
mov esi, dword [edi + 0xc0]
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebx + 0x48]
mov ecx, esi
push eax
lea eax, [ebx + 0x80]
push eax
push edi
call dword [0x45d240]
call esi
mov edx, eax
mov eax, dword [ebp - 0xcc]
test edx, edx
js 0x4517ce
test eax, eax
je 0x4517ce
lea esi, [ebx + 0x10]
mov dword [ebx + 0x40], 0x1c
jmp 0x450d38
mov eax, dword [ebp - 0xa0]
lea edi, [ebx + 0x28]
and dword [ebx], 0
lea esi, [ebp - 0xb8]
movsd dword es:[edi], dword [esi]
lea ecx, [ebx + 0x38]
mov dword [ecx], eax
mov eax, dword [ebp - 0x9c]
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 0x4517ce
and dword [ebx], 0
lea edi, [ebx + 0x28]
lea esi, [ebp - 0xb8]
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 0x4517bc
mov al, byte [edi + 0xe0]
test al, al
je 0x450e78
cmp dword [edi + 0xe4], 0
jne 0x450e78
lea esi, [ebp - 0xb8]
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 0x4517c5
and dword [ebp - 0xc8], 0
and dword [ebp - 0xdc], 0
test al, al
jne 0x450e91
mov byte [edi + 0xe0], 1
push 1
lea edx, [ebp - 0xb8]
mov ecx, edi
call fcn.0044e564
mov edx, eax
test edx, edx
js 0x450f58
cmp byte [ebp - 0xa4], 0
jne 0x450f58
mov eax, dword [ebp - 0xa8]
cmp eax, 6
je 0x450ecb
cmp eax, 0x16
jne 0x450f58
cmp dword [ebp - 0xa8], 0x16
mov eax, dword [ebp - 0xa0]
mov dword [ebx], 3
mov dword [ebx + 0x58], eax
mov dword [ebx + 0x5c], esi
jne 0x450f70
lea edi, [ebx + 0x38]
lea esi, [ebp - 0xb8]
movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0xb8]
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 - 0xb8]
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 - 0xbc]
mov ecx, esi
call fcn.0044e564
mov edx, eax
test edx, edx
js 0x450f64
cmp byte [ebp - 0xa4], 0
jne 0x450f64
cmp dword [ebp - 0xa8], 0x17
jne 0x450f64
push 1
lea edx, [ebp - 0xb8]
mov ecx, esi
call fcn.0044e564
mov edx, eax
test edx, edx
js 0x450f58
cmp byte [ebp - 0xa4], 0
jne 0x450f58
cmp dword [ebp - 0xa8], 6
je 0x450f70
mov dword [ebx + 0x40], 4
jmp 0x450b3e
mov dword [ebx + 0x40], 5
jmp 0x450b3e
mov eax, dword [ebp - 0x9c]
lea edi, [ebx + 0x28]
and dword [ebx + 0x60], 0
lea esi, [ebp - 0xb8]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xe0], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xa0]
mov dword [ebp - 0xf4], edi
mov esi, dword [ebp - 0xbc]
test edx, edx
js 0x450fda
push 0
lea edx, [ebp - 0xb8]
mov ecx, esi
call fcn.0044e564
mov edx, eax
test edx, edx
js 0x450fda
lea edx, [ebp - 0xa0]
mov ecx, esi
call fcn.0044f641
lea edx, [ebp - 0xb8]
mov ecx, esi
call fcn.0044f67e
mov edi, dword [ebp - 0xa0]
mov edx, eax
mov eax, dword [ebp - 0xa8]
cmp eax, 0x1a
je 0x4515b5
cmp eax, 0x1b
je 0x4515b5
cmp eax, 4
je 0x4515b5
cmp byte [ebp - 0xa4], 0
jne 0x4517ce
test edx, edx
js 0x4517ce
sub eax, 7
je 0x451304
sub eax, 1
je 0x451236
sub eax, 7
je 0x45119b
sub eax, 9
je 0x4510eb
sub eax, 4
jne 0x450f99
lea eax, [ebp - 0xe4]
mov ecx, esi
push eax
lea eax, [ebp - 0x68]
push eax
push 0x413b60
push 4
pop edx
call fcn.0044fc00
mov edx, eax
test edx, edx
js 0x45144b
mov ecx, dword [ebp - 0xe4]
cmp ecx, 4
jne 0x45141f
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x451193
mov edx, dword [ebx + 0x60]
lea ecx, [ebp - 0xc8]
push 1
push ecx
mov ecx, eax
call fcn.00452351
mov dword [ebp - 0xc0], eax
test eax, eax
js 0x451808
mov ebx, dword [ebp - 0xc8]
push 0x4c
push 0
push ebx
call sub.ntdll.dll_memset
mov edi, ebx
mov eax, dword [ebp - 0x9c]
lea esi, [ebp - 0xb8]
mov edx, dword [ebp - 0xc0]
add esp, 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]
lea edi, [ebx + 0x20]
lea esi, [ebp - 0x38]
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 edi, dword [ebp - 0xa0]
mov dword [ebx + 0x40], edi
mov dword [ebx + 0x44], eax
mov ebx, dword [ebp - 0xd4]
jmp 0x451193
lea eax, [ebp - 0xe8]
mov ecx, esi
push eax
lea eax, [ebp - 0x98]
push eax
push 0x413af0
push 6
pop edx
call fcn.0044fc00
mov edx, eax
test edx, edx
js 0x451492
mov ecx, dword [ebp - 0xe8]
cmp ecx, 6
jne 0x451463
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x451193
mov edx, dword [ebx + 0x60]
lea ecx, [ebp - 0xc8]
push 1
push ecx
mov ecx, eax
call fcn.00452351
mov edx, eax
test edx, edx
js 0x4517f8
mov eax, dword [ebp - 0xc8]
lea esi, [ebp - 0x80]
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 - 0xb8]
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 - 0xb8]
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 - 0x38]
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 - 0xa0]
mov ecx, dword [ebp - 0x9c]
mov dword [eax + 0x40], edi
mov dword [eax + 0x44], ecx
inc dword [ebx + 0x60]
jmp 0x450f99
lea eax, [ebp - 0xec]
mov ecx, esi
push eax
lea eax, [ebp - 0x98]
push eax
push 0x413a80
push 6
pop edx
call fcn.0044fc00
mov edx, eax
test edx, edx
js 0x4514dc
mov ecx, dword [ebp - 0xec]
cmp ecx, 6
jne 0x4514b0
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x451193
mov edx, dword [ebx + 0x60]
lea ecx, [ebp - 0xc8]
push 1
push ecx
mov ecx, eax
call fcn.00452351
mov edx, eax
test edx, edx
js 0x4517f8
mov eax, dword [ebp - 0xc8]
lea esi, [ebp - 0x80]
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 - 0xb8]
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 - 0xb8]
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 - 0x38]
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 0x451181
lea eax, [ebp - 0xd8]
mov ecx, esi
push eax
lea eax, [ebp - 0x68]
push eax
push 0x413a30
push 4
pop edx
call fcn.0044fc00
mov edx, eax
mov dword [ebp - 0xc0], edx
test edx, edx
js 0x451532
mov ecx, dword [ebp - 0xd8]
cmp ecx, 4
jne 0x451503
mov eax, dword [ebp - 0xcc]
test eax, eax
je 0x4512a4
mov edx, dword [ebx + 4]
lea ecx, [ebp - 0x38]
push ecx
inc edx
mov ecx, eax
call fcn.00451e84
mov edx, eax
mov dword [ebp - 0xc0], edx
cmp edx, 0xc00000bd
je 0x4514f1
test edx, edx
js 0x4517f8
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x451411
mov edx, dword [ebx + 0x60]
lea ecx, [ebp - 0xc8]
push 1
push ecx
mov ecx, eax
call fcn.00452351
mov dword [ebp - 0xc0], eax
test eax, eax
js 0x451808
mov ebx, dword [ebp - 0xc8]
push 0x4c
push 0
push ebx
call sub.ntdll.dll_memset
mov word [ebx + 0x48], 1
lea esi, [ebp - 0xb8]
mov edi, ebx
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 - 0x38]
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 0x4513ee
mov ecx, dword [ebp - 0xbc]
lea esi, [ebp - 0xb8]
lea edi, [ebp - 0x104]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0xf0]
push eax
lea eax, [ebp - 0x98]
push eax
movsd dword es:[edi], dword [esi]
push 0x413be0
push 6
pop edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0044fc00
mov edx, eax
mov dword [ebp - 0xc0], edx
test edx, edx
js 0x4515b0
mov ecx, dword [ebp - 0xf0]
cmp ecx, 6
jne 0x45157b
mov eax, dword [ebp - 0xcc]
test eax, eax
je 0x45138d
mov edx, dword [ebx + 4]
lea ecx, [ebp - 0x80]
push ecx
lea ecx, [ebp - 0x38]
inc edx
push ecx
mov ecx, eax
call fcn.00451d1b
mov edx, eax
mov dword [ebp - 0xc0], edx
cmp edx, 0xc00000bd
je 0x451560
test edx, edx
js 0x4517f8
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x45140b
mov edx, dword [ebx + 0x60]
lea ecx, [ebp - 0xc8]
push 1
push ecx
mov ecx, eax
call fcn.00452351
mov dword [ebp - 0xc0], eax
test eax, eax
js 0x451808
mov ebx, dword [ebp - 0xc8]
push 0x4c
push 0
push ebx
call sub.ntdll.dll_memset
mov edi, ebx
lea esi, [ebp - 0x80]
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 - 0x104]
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 - 0x38]
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 - 0xa0]
add esp, 0xc
mov eax, dword [ebp - 0x9c]
mov dword [ebx + 0x40], edi
mov dword [ebx + 0x44], eax
mov ebx, dword [ebp - 0xd4]
jmp 0x451411
mov edi, dword [ebp - 0xa0]
inc dword [ebx + 0x60]
mov edx, dword [ebp - 0xc0]
jmp 0x450f99
mov eax, dword [ebp - 0x9c]
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 + 0x413b64]
jmp 0x45152a
mov eax, dword [ebp - 0x9c]
and dword [ebx], 0
mov dword [ebx + 0x3c], eax
imul eax, dword [ebp - 0xe4], 0x18
jmp 0x451545
mov eax, dword [ebp - 0x9c]
lea esi, [ebp - 0x98]
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 + 0x413af4]
jmp 0x45152a
mov eax, dword [ebp - 0x9c]
and dword [ebx], 0
mov dword [ebx + 0x3c], eax
imul eax, dword [ebp - 0xe8], 0x18
lea esi, [ebp - 0x98]
jmp 0x451548
mov eax, dword [ebp - 0x9c]
lea esi, [ebp - 0x98]
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 + 0x413a84]
jmp 0x45152a
mov eax, dword [ebp - 0x9c]
and dword [ebx], 0
mov dword [ebx + 0x3c], eax
imul eax, dword [ebp - 0xec], 0x18
jmp 0x4514a5
mov dword [ebx + 0x38], edi
lea esi, [ebp - 0x38]
mov dword [ebx + 0x40], 0x1f
jmp 0x450e67
mov eax, dword [ebp - 0x9c]
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 + 0x413a34]
mov dword [ebx + 0x40], eax
jmp 0x4517ce
mov eax, dword [ebp - 0x9c]
and dword [ebx], 0
mov dword [ebx + 0x3c], eax
imul eax, dword [ebp - 0xd8], 0x18
lea esi, [ebp - 0x68]
add esi, eax
mov dword [ebx + 0x38], edi
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]
mov dword [ebx + 0x40], 0xb
jmp 0x4517ce
and dword [ebx], 0
lea esi, [ebp - 0x80]
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 0x4517bc
mov eax, dword [ebp - 0xa0]
lea esi, [ebp - 0x98]
and dword [ebx], 0
lea edi, [ebx + 0x28]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 0x9c]
mov dword [ebx + 0x3c], eax
imul eax, ecx, 0x18
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 + 0x413be4]
jmp 0x45152a
and dword [ebx], 0
jmp 0x451554
cmp byte [ebp - 0xa4], 0
jne 0x4517ce
test edx, edx
js 0x4517ce
mov ecx, dword [ebp - 0xcc]
lea edi, [ebp - 0x104]
xor eax, eax
xor esi, esi
stosd dword es:[edi], eax
mov dword [ebp - 0xd8], esi
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
test ecx, ecx
je 0x451615
mov eax, dword [ebx + 4]
lea edx, [ebp - 0x104]
push edx
lea edx, [ebp - 0xd8]
inc eax
push edx
mov edx, dword [ebp - 0xc4]
push eax
push ebx
call fcn.0044fd7c
mov esi, dword [ebp - 0xd8]
mov edx, eax
mov ecx, dword [ebp - 0xcc]
cmp edx, 0xc000a083
jne 0x451646
mov eax, dword [ebp - 0xf4]
lea edi, [ebx + 0x28]
and dword [ebx], 0
xor edx, edx
mov dword [ebx + 0x40], esi
lea esi, [ebp - 0x104]
movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 0xe0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x4517cb
test edx, edx
js 0x4517f8
cmp dword [ebp - 0xa8], 0x1b
jne 0x45167b
mov byte [ebx + 0x64], 1
test ecx, ecx
je 0x4517ce
mov edx, dword [ebx + 4]
inc edx
call fcn.00451ff8
mov edx, eax
test edx, edx
jns 0x4517ce
jmp 0x4517f8
mov edi, dword [ebp - 0xbc]
lea eax, [ebp - 0xdc]
mov edx, dword [ebx + 4]
push 1
push eax
lea ecx, [edi + 0xe8]
call fcn.00452351
mov edx, eax
test edx, edx
js 0x4517f8
inc dword [edi + 0xe4]
mov esi, ebx
mov edi, dword [ebp - 0xdc]
push 0x28
pop ecx
rep movsd dword es:[edi], dword [esi]
jmp 0x4517ce
cmp dword [edi + 0xe4], 0
jne 0x4516ce
mov dword [ebx], 1
jmp 0x4517ce
and dword [ebx], 0
mov dword [ebx + 0x40], 9
jmp 0x450608
cmp byte [edi + 0xe0], 0
je 0x451746
cmp dword [edi + 0xe4], 0
jne 0x451746
lea eax, [ebp - 0xcd]
mov ecx, edi
push eax
lea edx, [ebp - 0xb8]
call fcn.0044fb6c
mov edx, eax
test edx, edx
js 0x4517ce
cmp byte [ebp - 0xcd], 0
jne 0x451740
mov eax, dword [ebp - 0xa0]
mov dword [ebx + 0x38], eax
mov dword [ebx + 0x3c], esi
lea esi, [ebp - 0xb8]
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 0x4517ce
mov ecx, dword [ebp - 0xa0]
mov dword [ebx], 7
jmp 0x450608
cmp byte [edi + 0xe0], 0
je 0x451768
cmp dword [edi + 0xe4], 0
jne 0x451768
mov dword [ebx + 0x38], ecx
jmp 0x45171f
lea eax, [ebp - 0xe0]
mov ecx, edi
push eax
lea eax, [ebp - 0x38]
push eax
push 0x413ad0
push 2
pop edx
call fcn.0044fc00
mov ecx, dword [ebp - 0xe0]
mov edx, eax
test edx, edx
js 0x45179e
cmp ecx, 2
jne 0x45179e
mov dword [ebx], 8
jmp 0x450a6a
and dword [ebx], 0
lea esi, [ebp - 0x38]
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 + 0x413ad4]
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 0xa0]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 0x9c]
mov dword [ebx + 0x3c], eax
mov eax, dword [ebp - 0xbc]
mov eax, dword [eax + 0x14]
sub eax, dword [ebx + 0x10]
cmp byte [ebp - 0xa4], 0
mov dword [ebx + 0x14], eax
je 0x4517f8
test edx, edx
js 0x4517f8
push ecx
push ecx
mov ecx, 0xc000a083
call fcn.00452475
mov edx, eax
mov eax, edx
jmp 0x451808
push ecx
push ecx
mov ecx, 0xc000000d
call fcn.00452475
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0045a80a
leave
ret 8