Function at 0x419910
Capabilities:
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x438cd0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa4
mov edx, dword [esp + 0xb8]
push ebp
mov ebp, dword [esp + 0xb8]
xor ecx, ecx
push esi
push edi
mov eax, dword [ebp + 8]
mov dword [edx + 0xc], ecx
mov dword [edx + 4], eax
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x1c], eax
add edi, eax
xor esi, esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ecx
mov al, byte [edi]
mov dword [esp + 0xc], 0xffffffff
test al, al
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], esi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x24], edi
jne 0x41998e
mov dword [edx + 8], ecx
mov dword [edx], ecx
mov eax, 0xfffffffe
jmp 0x41a8b1
push ebx
movsx ebx, byte [edi]
cmp ebx, ecx
je 0x41a69e
cmp esi, ecx
je 0x419a5f
movsx ecx, bl
push ecx
push 0x447ed8
call dword [0x43b448]
add esp, 8
test eax, eax
je 0x419a48
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0x10]
mov ebp, edi
mov eax, dword [ecx + 0xc]
sub ebp, eax
sub ebp, esi
test edx, edx
jne 0x4199df
lea eax, [esi + ebp - 1]
mov dword [ecx], esi
mov dword [ecx + 4], eax
jmp 0x419a2f
mov ecx, dword [esp + 0xc8]
push 1
add ecx, 0x10
push ebp
add esi, eax
call dword [0x43b408]
test al, al
je 0x419a2b
mov edx, dword [esp + 0xc8]
mov ecx, ebp
mov edi, dword [edx + 0x14]
lea eax, [edx + 0x10]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [esp + 0x10]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x28]
mov dword [eax + 8], ebp
mov eax, dword [eax + 4]
mov byte [eax + ebp], 0
add eax, ebp
jmp 0x419a2f
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0xc4]
xor esi, esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], esi
xor ecx, ecx
jmp 0x419a63
push edi
call dword [0x43b458]
add edi, eax
add esp, 4
mov dword [esp + 0x28], edi
xor ecx, ecx
jmp 0x41998f
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x18], ecx
je 0x419c96
cmp ebx, 0x3e
jne 0x419b29
mov ecx, dword [esp + 0x14]
test cl, 0xc0
jne 0x419b44
mov ebx, dword [ebp + 0xc]
mov eax, edi
sub eax, ebx
mov ebx, dword [esp + 0x1c]
cmp ebx, 1
mov dword [esp + 0x20], eax
jne 0x419adc
cmp edx, ebx
mov dword [esp + 0x18], 0
jne 0x419b1b
cmp dword [esp + 0x2c], 0x2f
jne 0x419b1b
mov eax, dword [esp + 0x30]
test eax, eax
je 0x419acc
movsx eax, al
push eax
push 0x447ed0
call dword [0x43b448]
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x419b1b
mov eax, dword [esp + 0xc8]
or dword [eax + 0xc], 0x10000
jmp 0x419b1b
cmp eax, ebx
jle 0x41a1a0
mov ebp, dword [esp + 0x1c]
sub edi, ebp
dec ebp
test ebp, ebp
lea eax, [edi + 1]
je 0x419b0f
mov edi, dword [esp + 0x18]
sub edi, eax
mov cl, byte [eax]
mov dl, byte [edi + eax]
inc eax
cmp cl, dl
jne 0x419b07
dec ebp
jne 0x419af8
jmp 0x419b0f
test ebp, ebp
jne 0x41a19c
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], 0
test cl, 0x20
je 0x41a88c
jmp 0x41a198
cmp ebx, 0x3c
jne 0x419b40
cmp edx, 2
je 0x41a858
cmp edx, 0xffffffff
je 0x41a858
mov ecx, dword [esp + 0x14]
test dl, 1
je 0x419c52
test cl, 0xc0
je 0x419ba5
cmp ebx, 0x22
jne 0x419b7b
test cl, 0x80
je 0x419c41
xor ecx, 0x80
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], ebx
jmp 0x41a1a0
cmp ebx, 0x27
jne 0x419c41
test cl, 0x40
je 0x419c41
xor ecx, 0x40
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], ebx
jmp 0x41a1a0
cmp ebx, 0x22
jne 0x419bce
test ch, 1
je 0x419c41
xor ecx, 0x180
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], ebx
jmp 0x41a1a0
cmp ebx, 0x27
jne 0x419bf3
test ch, 1
je 0x419c41
xor ecx, 0x140
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], ebx
jmp 0x41a1a0
cmp ebx, 0x3d
jne 0x419c1e
mov eax, dword [esp + 0x2c]
cmp eax, ebx
je 0x419c1e
test ch, 1
jne 0x419c23
xor ecx, 0x100
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x14], ecx
mov ecx, eax
mov dword [esp + 0x30], ecx
jmp 0x41a1a0
test ch, 1
je 0x419c41
movsx eax, bl
push eax
push 0x447df8
call dword [0x43b448]
add esp, 8
test eax, eax
jne 0x419c41
xor dword [esp + 0x14], 0x100
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ecx
jmp 0x41a1a0
test dl, 0x40
je 0x41a1a0
cmp ebx, 0x22
jne 0x419c78
test byte [esp + 0x14], 0x40
jne 0x41a1a0
xor dword [esp + 0x14], 0x80
jmp 0x41a1a0
cmp ebx, 0x27
jne 0x41a1a0
test byte [esp + 0x14], 0x80
jne 0x41a1a0
xor dword [esp + 0x14], 0x40
jmp 0x41a1a0
mov eax, dword [esp + 0x14]
cmp eax, ecx
je 0x41a65d
test al, 0x10
je 0x419ceb
cmp ebx, 0x3c
je 0x41a862
movsx edx, bl
push edx
push 0x447df8
call dword [0x43b448]
add esp, 8
test eax, eax
jne 0x41a1a0
xor dword [esp + 0x14], 0x10
mov dword [esp + 0x18], 0x447ecc
mov dword [esp + 0x1c], 1
mov dword [esp + 0x10], 2
jmp 0x41a1a0
test al, 1
je 0x419f46
mov edx, 1
xor eax, edx
cmp ebx, 0x60
mov dword [esp + 0x14], eax
ja 0x419f26
cmp ebx, 0x40
jbe 0x419d15
cmp ebx, 0x5b
jb 0x419f26
cmp ebx, 0x5f
je 0x419f26
cmp ebx, 0x3a
je 0x419f26
cmp ebx, 0x2f
jne 0x419d4d
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp + 0xc]
mov esi, edi
mov dword [esp + 0x18], 0x447ec8
sub esi, ecx
mov dword [esp + 0x1c], edx
inc esi
mov dword [esp + 0x24], esi
jmp 0x41a1a0
cmp ebx, 0x21
jne 0x419d5d
or al, 2
mov dword [esp + 0x14], eax
jmp 0x41a1a0
cmp ebx, 0x3f
jne 0x419d8b
mov ecx, dword [ebp + 0xc]
mov esi, edi
sub esi, ecx
mov dword [esp + 0x18], 0x447ec4
inc esi
mov dword [esp + 0x1c], 2
mov dword [esp + 0x10], 0x10
mov dword [esp + 0x24], esi
jmp 0x41a1a0
mov eax, dword [esp + 0xc8]
mov edi, 0x447eb8
or ecx, 0xffffffff
push 1
lea ebp, [eax + 0x10]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x1c], 0x447ec8
mov ebx, ecx
mov ecx, ebp
push ebx
mov dword [esp + 0x24], 1
call dword [0x43b408]
test al, al
je 0x419de8
mov edi, dword [ebp + 4]
mov ecx, ebx
mov edx, ecx
mov esi, 0x447eb8
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 4]
mov dword [ebp + 8], ebx
add eax, ebx
mov byte [eax], 0
mov edi, 0x447ea4
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebp + 8]
repne scasb al, byte es:[edi]
mov eax, dword [0x43b410]
not ecx
dec ecx
mov esi, ecx
mov ecx, dword [eax]
sub ecx, edx
cmp ecx, esi
ja 0x419e0f
call dword [0x43b404]
test esi, esi
jbe 0x419e52
mov ecx, dword [ebp + 8]
mov ebx, esi
xor edi, edi
add ebx, ecx
push edi
push ebx
mov ecx, ebp
call dword [0x43b408]
test al, al
je 0x419e54
mov edi, dword [ebp + 4]
mov ecx, dword [ebp + 8]
add edi, ecx
mov ecx, esi
mov edx, ecx
mov esi, 0x447ea4
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 4]
mov dword [ebp + 8], ebx
add eax, ebx
mov byte [eax], 0
xor edi, edi
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x94]
push eax
push ecx
call fcn.00419500
push eax
lea edx, [esp + 0x80]
push 0x447e98
push edx
mov dword [esp + 0xd0], 2
call fcn.0041daf8
add esp, 0x14
mov ecx, dword [0x43b410]
mov byte [esp + 0xbc], 3
mov edx, dword [ecx]
mov ecx, ebp
push edx
push edi
push eax
call dword [0x43b430]
mov eax, dword [esp + 0x78]
cmp eax, edi
je 0x419ec7
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x419ebe
cmp al, 0xff
je 0x419ebe
dec al
mov byte [ecx], al
jmp 0x419ec7
push ecx
call fcn.0041d310
add esp, 4
mov eax, dword [esp + 0x98]
or esi, 0xffffffff
cmp eax, edi
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], edi
mov dword [esp + 0xbc], esi
je 0x419f08
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x419eff
cmp al, 0xff
je 0x419eff
dec al
mov byte [ecx], al
jmp 0x419f08
push ecx
call fcn.0041d310
add esp, 4
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], edi
mov dword [esp + 0xa0], edi
mov dword [esp + 0x10], esi
jmp 0x41a198
mov eax, dword [ebp + 0xc]
mov esi, edi
sub esi, eax
mov dword [esp + 0x18], 0x447ec8
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x24], esi
jmp 0x41a1a0
test al, 2
je 0x41a1be
xor eax, 2
cmp ebx, 0x2d
mov dword [esp + 0x14], eax
jne 0x419f65
or al, 4
mov dword [esp + 0x14], eax
jmp 0x41a1a0
cmp ebx, 0x5b
jne 0x419f79
test al, 0x20
jne 0x419f8d
or al, 8
mov dword [esp + 0x14], eax
jmp 0x41a1a0
cmp ebx, 0x44
jne 0x419f8d
test al, 0x20
jne 0x419f8d
or al, 0x20
mov dword [esp + 0x14], eax
jmp 0x41a1a0
movsx eax, bl
push eax
push 0x447e94
call dword [0x43b448]
add esp, 8
mov dword [esp + 0x18], 0x447ec8
test eax, eax
mov dword [esp + 0x1c], 1
je 0x419fc0
mov dword [esp + 0x10], 0x40
jmp 0x41a1a0
mov ecx, dword [esp + 0xc8]
mov edi, 0x447eb8
xor eax, eax
push 1
lea ebp, [ecx + 0x10]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
mov ecx, ebp
push ebx
call dword [0x43b408]
test al, al
je 0x41a00d
mov edi, dword [ebp + 4]
mov ecx, ebx
mov edx, ecx
mov esi, 0x447eb8
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 4]
mov dword [ebp + 8], ebx
add ebx, eax
mov byte [ebx], 0
mov edi, 0x447e8c
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebp + 8]
repne scasb al, byte es:[edi]
mov eax, dword [0x43b410]
not ecx
dec ecx
mov edi, ecx
mov ecx, dword [eax]
sub ecx, edx
mov dword [esp + 0x10], edi
cmp ecx, edi
ja 0x41a038
call dword [0x43b404]
xor esi, esi
cmp edi, esi
jbe 0x41a07d
mov ebx, dword [ebp + 8]
push esi
add ebx, edi
mov ecx, ebp
push ebx
call dword [0x43b408]
test al, al
je 0x41a07d
mov edi, dword [ebp + 8]
mov ecx, dword [ebp + 4]
add edi, ecx
mov ecx, dword [esp + 0x10]
mov edx, ecx
mov esi, 0x447e8c
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 4]
mov dword [ebp + 8], ebx
add eax, ebx
xor esi, esi
mov byte [eax], 0
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x54]
push eax
push ecx
call fcn.00419500
push eax
lea edx, [esp + 0x70]
push 0x447e98
push edx
mov dword [esp + 0xd0], 4
call fcn.0041daf8
mov ecx, eax
add esp, 0x14
mov dword [esp + 0x10], ecx
mov eax, dword [0x43b410]
mov ecx, dword [ecx + 8]
mov byte [esp + 0xbc], 5
mov eax, dword [eax]
mov edi, eax
cmp ecx, edi
jae 0x41a0ca
mov edi, ecx
sub eax, dword [ebp + 8]
cmp eax, edi
ja 0x41a0d7
call dword [0x43b404]
cmp edi, esi
jbe 0x41a128
mov ecx, dword [ebp + 8]
mov ebx, edi
add ebx, ecx
push esi
push ebx
mov ecx, ebp
call dword [0x43b408]
test al, al
je 0x41a128
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
cmp eax, esi
mov esi, dword [0x43b3fc]
je 0x41a103
mov esi, eax
mov eax, dword [ebp + 4]
mov ecx, dword [ebp + 8]
add eax, ecx
mov ecx, edi
mov edx, ecx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, ebp
call dword [0x43b418]
xor esi, esi
mov eax, dword [esp + 0x68]
cmp eax, esi
je 0x41a14d
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x41a144
cmp al, 0xff
je 0x41a144
dec al
mov byte [ecx], al
jmp 0x41a14d
push ecx
call fcn.0041d310
add esp, 4
mov eax, dword [esp + 0x58]
or edi, 0xffffffff
cmp eax, esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0xbc], edi
je 0x41a188
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x41a17f
cmp al, 0xff
je 0x41a17f
dec al
mov byte [ecx], al
jmp 0x41a188
push ecx
call fcn.0041d310
add esp, 4
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x10], edi
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
push edi
call dword [0x43b458]
mov ebp, dword [esp + 0xc8]
add edi, eax
add esp, 4
mov dword [esp + 0x28], edi
xor ecx, ecx
jmp 0x41998f
test al, 4
je 0x41a3e4
xor eax, 4
cmp ebx, 0x2d
mov dword [esp + 0x14], eax
jne 0x41a1ec
mov dword [esp + 0x18], 0x447e88
mov dword [esp + 0x1c], 3
mov dword [esp + 0x10], 0x20
jmp 0x41a1a0
mov eax, dword [esp + 0xc8]
mov edi, 0x447eb8
or ecx, 0xffffffff
push 1
lea ebp, [eax + 0x10]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x1c], 0x447ec8
mov ebx, ecx
mov ecx, ebp
push ebx
mov dword [esp + 0x24], 1
call dword [0x43b408]
test al, al
je 0x41a249
mov edi, dword [ebp + 4]
mov ecx, ebx
mov edx, ecx
mov esi, 0x447eb8
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 4]
mov dword [ebp + 8], ebx
add ebx, eax
mov byte [ebx], 0
mov edi, 0x447e7c
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebp + 8]
repne scasb al, byte es:[edi]
mov eax, dword [0x43b410]
not ecx
dec ecx
mov edi, ecx
mov ecx, dword [eax]
sub ecx, edx
mov dword [esp + 0x10], edi
cmp ecx, edi
ja 0x41a274
call dword [0x43b404]
xor esi, esi
cmp edi, esi
jbe 0x41a2b9
mov ebx, dword [ebp + 8]
push esi
add ebx, edi
mov ecx, ebp
push ebx
call dword [0x43b408]
test al, al
je 0x41a2b9
mov edi, dword [ebp + 8]
mov ecx, dword [ebp + 4]
add edi, ecx
mov ecx, dword [esp + 0x10]
mov edx, ecx
mov esi, 0x447e7c
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 4]
mov dword [ebp + 8], ebx
add eax, ebx
xor esi, esi
mov byte [eax], 0
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x34]
push eax
push ecx
call fcn.00419500
push eax
lea edx, [esp + 0x50]
push 0x447e98
push edx
mov dword [esp + 0xd0], 6
call fcn.0041daf8
mov ecx, eax
add esp, 0x14
mov dword [esp + 0x10], ecx
mov eax, dword [0x43b410]
mov ecx, dword [ecx + 8]
mov byte [esp + 0xbc], 7
mov eax, dword [eax]
mov edi, eax
cmp ecx, edi
jae 0x41a306
mov edi, ecx
sub eax, dword [ebp + 8]
cmp eax, edi
ja 0x41a313
call dword [0x43b404]
cmp edi, esi
jbe 0x41a364
mov ecx, dword [ebp + 8]
mov ebx, edi
add ebx, ecx
push esi
push ebx
mov ecx, ebp
call dword [0x43b408]
test al, al
je 0x41a364
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
cmp eax, esi
mov esi, dword [0x43b3fc]
je 0x41a33f
mov esi, eax
mov eax, dword [ebp + 4]
mov ecx, dword [ebp + 8]
add eax, ecx
mov ecx, edi
mov edx, ecx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, ebp
call dword [0x43b418]
xor esi, esi
mov eax, dword [esp + 0x48]
cmp eax, esi
je 0x41a389
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x41a380
cmp al, 0xff
je 0x41a380
dec al
mov byte [ecx], al
jmp 0x41a389
push ecx
call fcn.0041d310
add esp, 4
mov eax, dword [esp + 0x38]
or edi, 0xffffffff
cmp eax, esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0xbc], edi
je 0x41a3d3
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x41a3ca
cmp al, 0xff
je 0x41a3ca
dec al
mov byte [ecx], al
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
jmp 0x41a194
push ecx
call fcn.0041d310
add esp, 4
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
jmp 0x41a194
test al, 8
je 0x41a633
xor eax, 8
cmp ebx, 0x43
mov dword [esp + 0x14], eax
jne 0x41a415
mov dword [esp + 0x18], 0x447e78
mov dword [esp + 0x1c], 3
mov dword [esp + 0x10], 8
jmp 0x41a1a0
mov eax, dword [esp + 0xc8]
mov edi, 0x447eb8
or ecx, 0xffffffff
push 1
lea ebp, [eax + 0x10]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x1c], 0x447ec8
mov ebx, ecx
mov ecx, ebp
push ebx
mov dword [esp + 0x24], 1
call dword [0x43b408]
test al, al
je 0x41a472
mov edi, dword [ebp + 4]
mov ecx, ebx
mov edx, ecx
mov esi, 0x447eb8
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 4]
mov dword [ebp + 8], ebx
add ebx, eax
mov byte [ebx], 0
mov edi, 0x447e74
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebp + 8]
repne scasb al, byte es:[edi]
mov eax, dword [0x43b410]
not ecx
dec ecx
mov edi, ecx
mov ecx, dword [eax]
sub ecx, edx
cmp ecx, edi
ja 0x41a499
call dword [0x43b404]
xor esi, esi
cmp edi, esi
jbe 0x41a4e0
mov ecx, dword [ebp + 8]
mov ebx, edi
add ebx, ecx
push esi
push ebx
mov ecx, ebp
call dword [0x43b408]
test al, al
je 0x41a4e0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 4]
add eax, ecx
mov ecx, edi
mov edx, ecx
mov esi, 0x447e74
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 4]
mov dword [ebp + 8], ebx
add ebx, eax
xor esi, esi
mov byte [ebx], 0
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0xa4]
push eax
push ecx
call fcn.00419500
push eax
lea edx, [esp + 0x90]
push 0x447e98
push edx
mov dword [esp + 0xd0], 8
call fcn.0041daf8
add esp, 0x14
mov dword [esp + 0x10], eax
mov ecx, dword [0x43b410]
mov eax, dword [eax + 8]
mov byte [esp + 0xbc], 9
mov ecx, dword [ecx]
mov edi, ecx
cmp eax, edi
jae 0x41a532
mov edi, eax
sub ecx, dword [ebp + 8]
cmp ecx, edi
ja 0x41a53f
call dword [0x43b404]
cmp edi, esi
jbe 0x41a592
mov ecx, dword [ebp + 8]
mov ebx, edi
add ebx, ecx
push esi
push ebx
mov ecx, ebp
call dword [0x43b408]
test al, al
je 0x41a592
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
cmp eax, esi
mov esi, dword [0x43b3fc]
je 0x41a56b
mov esi, eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 4]
add eax, ecx
mov ecx, edi
mov edi, eax
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 4]
mov dword [ebp + 8], ebx
add ebx, eax
xor esi, esi
mov byte [ebx], 0
mov eax, dword [esp + 0x88]
cmp eax, esi
je 0x41a5ba
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x41a5b1
cmp al, 0xff
je 0x41a5b1
dec al
mov byte [ecx], al
jmp 0x41a5ba
push ecx
call fcn.0041d310
add esp, 4
mov eax, dword [esp + 0xa8]
or edi, 0xffffffff
cmp eax, esi
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], esi
mov dword [esp + 0xbc], edi
je 0x41a619
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x41a610
cmp al, 0xff
je 0x41a610
dec al
mov byte [ecx], al
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], esi
mov dword [esp + 0xb0], esi
jmp 0x41a194
push ecx
call fcn.0041d310
add esp, 4
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], esi
mov dword [esp + 0xb0], esi
jmp 0x41a194
test al, 0x20
je 0x41a1a0
cmp ebx, 0x3c
jne 0x41a64f
mov eax, dword [esp + 0x14]
or al, 1
mov dword [esp + 0x14], eax
jmp 0x41a1a0
cmp ebx, 0x3e
je 0x41a876
jmp 0x41a1a0
cmp ebx, 0x3c
jne 0x41a66f
mov dword [esp + 0x14], 1
jmp 0x41a1a0
movsx ecx, bl
push ecx
push 0x447df8
mov dword [esp + 0x18], 4
call dword [0x43b448]
add esp, 8
test eax, eax
je 0x419cce
mov dword [esp + 0x14], 0x10
jmp 0x41a1a0
mov edx, dword [ebp + 0xc]
mov eax, dword [esp + 0x10]
sub edi, edx
dec edi
cmp eax, 4
mov dword [esp + 0x20], edi
je 0x41a88c
cmp eax, 2
je 0x41a88c
mov al, byte [esp + 0x14]
mov esi, 0x447e74
test al, 0x20
jne 0x41a70f
mov eax, dword [esp + 0x10]
cmp eax, 0x40
je 0x41a70f
cmp eax, 1
jne 0x41a6e0
mov esi, 0x447e68
jmp 0x41a714
test eax, eax
jne 0x41a6eb
mov esi, 0x447e58
jmp 0x41a714
cmp eax, 8
jne 0x41a6f7
mov esi, 0x447e48
jmp 0x41a714
cmp eax, 0x10
jne 0x41a703
mov esi, 0x447e30
jmp 0x41a714
cmp eax, 0x20
jne 0x41a714
mov esi, 0x447e28
jmp 0x41a714
mov esi, 0x447e20
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
mov dword [esp + 0x10], ecx
repne scasb al, byte es:[edi]
mov edx, dword [esp + 0xc8]
push 1
not ecx
dec ecx
lea ebx, [edx + 0x10]
mov ebp, ecx
mov ecx, ebx
push ebp
call dword [0x43b408]
test al, al
je 0x41a75d
mov edi, dword [ebx + 4]
mov ecx, ebp
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 4]
mov dword [ebx + 8], ebp
add eax, ebp
mov byte [eax], 0
mov ecx, dword [esp + 0xc8]
lea eax, [esp + 0x44]
mov edx, dword [ecx + 4]
push edx
push eax
call fcn.00419500
push eax
lea ecx, [esp + 0x40]
push 0x447e98
push ecx
mov dword [esp + 0xd0], 0
call fcn.0041daf8
add esp, 0x14
mov edx, dword [0x43b410]
mov byte [esp + 0xbc], 1
mov ecx, dword [edx]
push ecx
push 0
push eax
mov ecx, ebx
call dword [0x43b430]
push 1
lea ecx, [esp + 0x38]
mov byte [esp + 0xc0], 0
call dword [0x43b3f8]
mov eax, dword [esp + 0x48]
mov dword [esp + 0xbc], 0xffffffff
test eax, eax
je 0x41a7f0
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x41a7e7
cmp al, 0xff
je 0x41a7e7
dec al
mov byte [ecx], al
jmp 0x41a7f0
push ecx
call fcn.0041d310
add esp, 4
mov edi, 0x447e10
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x43b410]
repne scasb al, byte es:[edi]
mov eax, dword [edx]
mov edx, dword [ebx + 8]
not ecx
dec ecx
sub eax, edx
mov esi, ecx
cmp eax, esi
ja 0x41a818
call dword [0x43b404]
test esi, esi
jbe 0x41a88c
mov ebp, dword [ebx + 8]
push 0
add ebp, esi
mov ecx, ebx
push ebp
call dword [0x43b408]
test al, al
je 0x41a88c
mov edi, dword [ebx + 4]
mov edx, dword [ebx + 8]
mov ecx, esi
add edi, edx
mov edx, ecx
mov esi, 0x447e10
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, ebx
call dword [0x43b418]
jmp 0x41a88c
sub edi, dword [ebp + 0xc]
dec edi
mov dword [esp + 0x20], edi
jmp 0x41a88c
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x10], 4
sub edi, ecx
dec edi
mov dword [esp + 0x20], edi
jmp 0x41a88c
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x10], 0x40
sub edi, dword [eax + 0xc]
mov dword [esp + 0x20], edi
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0xc4]
pop ebx
lea eax, [ecx + 1]
mov ecx, dword [esp + 0xc4]
mov dword [edx + 8], eax
sub eax, dword [ecx + 4]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0xc]
mov dword [ecx], eax
mov ecx, dword [esp + 0xb0]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0xb0
ret