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

Disassembly:
mov ecx, dword [0x98cddc]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x501765
sub esp, 0x7c
mov eax, 0
mov dword [esp + 0x78], eax
mov byte [esp + 0x3b], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
lea eax, [0x501770]
mov dword [esp + 0x60], eax
lea eax, [esp + 0x90]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x68], ecx
lea edx, [esp + 0x60]
mov dword [esp + 0x78], edx
mov byte [esp + 0x3b], 1
movzx edx, word [esp + 0x88]
test dx, 2
jne 0x5008a1
lea eax, [0x7128c0]
mov dword [esp], eax
call fcn.0040bc10
mov eax, dword [esp + 4]
movzx ecx, word [esp + 0x88]
mov word [eax], cx
mov ecx, dword [esp + 0x84]
mov dword [eax + 0x1c], ecx
mov edx, dword [0x98d0b8]
test edx, edx
jne 0x500877
mov edx, dword [esp + 0x80]
jmp 0x500885
call fcn.00471ab0
mov edx, dword [esp + 0x80]
mov dword [edi], edx
mov dword [esp + 0x74], eax
mov dword [eax + 0x18], edx
mov ebx, ecx
mov ebp, edx
xor esi, esi
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x5c], ecx
mov ecx, ebx
jmp 0x500a31
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.005051c0
mov eax, dword [esp + 8]
test eax, eax
jne 0x500911
lea eax, [0x711ae0]
mov dword [esp], eax
call fcn.0040bc10
mov eax, dword [esp + 4]
mov byte [eax], 3
movzx ecx, word [esp + 0x88]
mov word [eax + 2], cx
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 2
mov ecx, dword [0x98d0b8]
lea edx, [eax + 0x20]
test ecx, ecx
je 0x5008f8
call fcn.00471ab0
mov dword [edi], edx
mov dword [esp + 0x54], eax
mov dword [eax + 0x14], edx
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x80]
xor edx, edx
jmp 0x500954
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
mov byte [esp + 0x3b], 0
mov edx, dword [esp + 0x78]
mov eax, dword [edx]
call eax
add esp, 0x7c
ret
mov edx, dword [eax + 0x14]
lea ebx, [edi + 1]
mov dword [eax + 0x18], ebx
mov dword [edx + edi*4], ebp
mov ebx, dword [esp + 0x80]
mov edx, esi
cmp ecx, edx
jle 0x5009e5
movzx ebp, byte [ebx + edx]
cmp ebp, 0x80
jge 0x50096d
lea esi, [edx + 1]
jmp 0x500997
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004625f0
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x80]
mov edi, dword [eax + 0x18]
cmp dword [eax + 0x1c], edi
jg 0x50093f
mov dword [esp], 0
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.00450ea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x54]
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], ecx
mov eax, dword [0x98d0b8]
test eax, eax
je 0x5009e0
call fcn.00471ac0
mov dword [edi], edx
mov eax, dword [ebx + 0x14]
mov dword [edi + 4], eax
mov dword [ebx + 0x14], edx
jmp 0x5009e7
mov ebx, eax
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov byte [esp + 0x3b], 0
mov edx, dword [esp + 0x78]
mov eax, dword [edx]
call eax
add esp, 0x7c
ret
mov ecx, ebx
mov edi, ebp
mov dword [esp + 0x5c], esi
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x80]
mov esi, eax
mov eax, dword [esp + 0x74]
test ecx, ecx
je 0x5015c3
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x4c], edx
xchg esi, eax
mov byte [esp + 0x3a], al
xchg esi, eax
movzx ebp, byte [edx]
xchg ebp, eax
cmp al, 0x2e
xchg ebp, eax
ja 0x500c3c
xchg ebp, eax
cmp al, 0x28
xchg ebp, eax
ja 0x500b77
xchg ebp, eax
cmp al, 0x24
xchg ebp, eax
jne 0x500acc
movzx ebp, word [eax]
test bp, 0x10
je 0x500a92
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.004fe070
mov eax, dword [esp + 8]
movzx ecx, word [eax + 2]
or ecx, 0x100
mov word [eax + 2], cx
jmp 0x500a9f
mov dword [esp], eax
mov byte [esp + 4], 8
call fcn.004fe070
mov ebx, dword [esp + 0x3c]
dec ebx
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 1
mov eax, ebp
mov ebp, dword [esp + 0x4c]
add ebx, ebp
mov ecx, dword [esp + 0x74]
mov edx, ebx
xor ebp, ebp
xor esi, esi
mov ebx, eax
movzx eax, byte [esp + 0x3a]
jmp 0x500a15
xchg ebp, eax
cmp al, 0x28
xchg ebp, eax
jne 0x50125a
movzx ebp, word [eax]
test bp, 0x40
je 0x500b34
cmp ecx, 2
jl 0x500b34
cmp byte [edx + 1], 0x3f
jne 0x500b34
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00501b10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
test eax, eax
jne 0x5013d1
mov ecx, dword [esp + 0x74]
movzx eax, byte [esp + 0x3a]
xor ebp, ebp
xor esi, esi
jmp 0x500a15
inc dword [eax + 0x14]
mov dword [esp], eax
mov byte [esp + 4], pe_nt_image_headers32
call fcn.004fe070
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x74]
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x30], edx
mov eax, dword [esp + 0x3c]
lea ebx, [eax - 1]
mov eax, ebx
neg eax
sar eax, 0x1f
and eax, 1
mov edx, dword [esp + 0x4c]
add edx, eax
movzx eax, byte [esp + 0x3a]
xor ebp, ebp
xor esi, esi
jmp 0x500a15
xchg ebp, eax
cmp al, 0x29
xchg ebp, eax
je 0x500be8
xchg ebp, eax
cmp al, 0x2b
xchg ebp, eax
jbe 0x501108
xchg ebp, eax
cmp al, 0x2e
xchg ebp, eax
jne 0x50125a
movzx ebp, word [eax]
test bp, 8
je 0x500bad
mov dword [esp], eax
mov byte [esp + 4], 6
call fcn.004fe070
jmp 0x500bba
mov dword [esp], eax
mov byte [esp + 4], 5
call fcn.004fe070
mov ebp, dword [esp + 0x3c]
lea ebx, [ebp - 1]
mov ebp, ebx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 1
mov eax, dword [esp + 0x4c]
lea edx, [eax + ebp]
mov ecx, dword [esp + 0x74]
movzx eax, byte [esp + 0x3a]
xor ebp, ebp
xor esi, esi
jmp 0x500a15
mov dword [esp], eax
call fcn.00502730
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
test eax, eax
jne 0x5013ed
mov ebp, dword [esp + 0x3c]
lea ebx, [ebp - 1]
mov ebp, ebx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 1
mov eax, dword [esp + 0x4c]
lea edx, [eax + ebp]
mov ecx, dword [esp + 0x74]
movzx eax, byte [esp + 0x3a]
xor ebp, ebp
xor esi, esi
jmp 0x500a15
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
ja 0x5011bb
xchg ebp, eax
cmp al, 0x3f
xchg ebp, eax
je 0x501108
xchg ebp, eax
cmp al, 0x5b
xchg ebp, eax
je 0x5010c0
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
jne 0x50125a
movzx ebp, word [eax]
test bp, 0x40
je 0x500def
cmp ecx, 2
jl 0x500def
movzx ebp, byte [edx + 1]
xchg ebp, eax
cmp al, 0x43
xchg ebp, eax
ja 0x500d1a
xchg ebp, eax
cmp al, 0x41
xchg ebp, eax
je 0x500ce3
xchg ebp, eax
cmp al, 0x42
xchg ebp, eax
je 0x500cac
xchg ebp, eax
cmp al, 0x43
xchg ebp, eax
jne 0x500def
jmp 0x501409
mov dword [esp], eax
mov byte [esp + 4], 0xc
call fcn.004fe070
mov eax, dword [esp + 0x3c]
lea ebx, [eax - 2]
mov eax, ebx
neg eax
sar eax, 0x1f
and eax, 2
mov ecx, dword [esp + 0x4c]
lea edx, [ecx + eax]
mov ecx, dword [esp + 0x74]
movzx eax, byte [esp + 0x3a]
xor ebp, ebp
xor esi, esi
jmp 0x500a15
mov dword [esp], eax
mov byte [esp + 4], 9
call fcn.004fe070
mov eax, dword [esp + 0x3c]
lea ebx, [eax - 2]
mov eax, ebx
neg eax
sar eax, 0x1f
and eax, 2
mov ecx, dword [esp + 0x4c]
lea edx, [ecx + eax]
mov ecx, dword [esp + 0x74]
movzx eax, byte [esp + 0x3a]
xor ebp, ebp
xor esi, esi
jmp 0x500a15
xchg ebp, eax
cmp al, 0x51
xchg ebp, eax
je 0x500da5
xchg ebp, eax
cmp al, 0x62
xchg ebp, eax
je 0x500d6e
xchg ebp, eax
cmp al, 0x7a
xchg ebp, eax
jne 0x500def
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.004fe070
mov eax, dword [esp + 0x3c]
lea ebx, [eax - 2]
mov eax, ebx
neg eax
sar eax, 0x1f
and eax, 2
mov ecx, dword [esp + 0x4c]
lea edx, [ecx + eax]
mov ecx, dword [esp + 0x74]
movzx eax, byte [esp + 0x3a]
xor ebp, ebp
xor esi, esi
jmp 0x500a15
mov dword [esp], eax
mov byte [esp + 4], 0xb
call fcn.004fe070
mov eax, dword [esp + 0x3c]
lea ebx, [eax - 2]
mov eax, ebx
neg eax
sar eax, 0x1f
and eax, 2
mov ecx, dword [esp + 0x4c]
lea edx, [ecx + eax]
mov ecx, dword [esp + 0x74]
movzx eax, byte [esp + 0x3a]
xor ebp, ebp
xor esi, esi
jmp 0x500a15
lea eax, [ecx - 2]
mov ecx, eax
neg eax
sar eax, 0x1f
and eax, 2
add eax, edx
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x727cf8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
call fcn.00476ec0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x3c], ebx
jmp 0x501700
mov edi, dword [eax + 0x10]
nop
test edi, edi
je 0x500e58
mov dword [esp + 0x50], edi
mov ebp, dword [0x98d0b8]
mov ebx, dword [edi + 0x10]
test ebp, ebp
je 0x500e46
mov dword [esp + 0x70], ebx
mov ecx, edi
call fcn.00471ac0
mov dword [edi], ebx
mov edx, dword [eax + 0x10]
mov dword [edi + 4], edx
lea edx, [0x711ae0]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.0040eb70
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x70]
movzx esi, byte [esp + 0x3a]
mov edi, dword [esp + 0x50]
mov dword [eax + 0x10], ebx
mov ebx, eax
xor eax, eax
call fcn.00471d41
mov edi, dword [esp + 0x50]
jmp 0x500e7c
lea eax, [0x711ae0]
mov dword [esp], eax
call fcn.0040bc10
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x74]
inc dword [eax + 0x2c]
mov edx, dword [esp + 0x4c]
mov ebx, eax
movzx esi, byte [esp + 0x3a]
mov dword [esp + 0x50], edi
mov byte [edi], 4
movzx eax, word [ebx]
mov word [edi + 2], ax
mov eax, dword [esp + 0x3c]
cmp eax, 2
jl 0x500f5a
movzx ecx, byte [edx + 1]
cmp cl, 0x70
je 0x500ea9
cmp cl, 0x50
jne 0x500f5a
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
lea ecx, [edi + 0x20]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 2
call fcn.005034e0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
test eax, eax
jne 0x50147f
mov eax, dword [esp + 0x18]
test eax, eax
je 0x500f4a
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x3c], edx
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x50]
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebp
mov ebx, dword [0x98d0b8]
test ebx, ebx
je 0x500f1d
call fcn.00471ac0
mov dword [edi], eax
mov ebx, dword [esi + 0x14]
mov dword [edi + 4], ebx
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov dword [esp + 4], esi
call fcn.004fd950
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x3c]
mov edx, dword [esp + 0x4c]
movzx eax, byte [esp + 0x3a]
xor ebp, ebp
xor esi, esi
jmp 0x500a15
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x74]
mov edi, dword [esp + 0x50]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
lea ecx, [edi + 0x20]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 2
call fcn.00502f90
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
test eax, eax
je 0x500fef
mov dword [esp + 0x3c], edx
mov dword [esp + 0x4c], ecx
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x50]
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebp
mov ebx, dword [0x98d0b8]
test ebx, ebx
je 0x500fc2
call fcn.00471ac0
mov dword [edi], eax
mov ebx, dword [esi + 0x14]
mov dword [edi + 4], ebx
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov dword [esp + 4], esi
call fcn.004fd950
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x3c]
mov edx, dword [esp + 0x4c]
movzx eax, byte [esp + 0x3a]
xor ebp, ebp
xor esi, esi
jmp 0x500a15
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x3c]
nop
test ecx, ecx
je 0x501019
mov eax, dword [esp + 0x50]
lea ebx, [0x6e44c0]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040d3e0
mov eax, dword [esp + 0x74]
mov ecx, dword [0x98d0b8]
mov edx, dword [eax + 0x10]
test ecx, ecx
jne 0x50102c
mov ecx, dword [esp + 0x50]
jmp 0x501046
call fcn.00471ae0
mov dword [edi], edx
mov ecx, dword [esp + 0x50]
mov ebx, dword [ecx + 0x10]
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ebx, dword [eax + 0x10]
mov dword [edi + 0xc], ebx
mov dword [ecx + 0x10], edx
mov dword [eax + 0x10], ecx
mov dword [esp], eax
mov ecx, dword [esp + 0x4c]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 8], ecx
call fcn.00502900
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
test eax, eax
jne 0x5014ad
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x4c], ebx
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004fded0
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x3c]
mov edx, dword [esp + 0x4c]
movzx eax, byte [esp + 0x3a]
xor ebp, ebp
xor esi, esi
jmp 0x500a15
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00503b90
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
test eax, eax
jne 0x5014c9
mov ecx, dword [esp + 0x74]
movzx eax, byte [esp + 0x3a]
xor ebp, ebp
xor esi, esi
jmp 0x500a15
xchg ebp, eax
cmp al, 0x2a
xchg ebp, eax
jne 0x501116
mov esi, 0xe
jmp 0x501130
xchg ebp, eax
cmp al, 0x2b
xchg ebp, eax
jne 0x501124
mov esi, 0xf
jmp 0x501130
xchg ebp, eax
cmp al, 0x3f
xchg ebp, eax
jne 0x501130
mov esi, 0x10
xchg esi, eax
mov byte [esp + 0x3a], al
xchg esi, eax
mov dword [esp], eax
xchg esi, eax
mov byte [esp + 4], al
xchg esi, eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
lea ebx, [ecx - 1]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 1
add ebx, edx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebp
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], edi
call fcn.004fe140
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
test eax, eax
jne 0x5014e5
mov ecx, dword [esp + 0x74]
movzx eax, byte [esp + 0x3a]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x4c]
jmp 0x500a15
xchg ebp, eax
cmp al, 0x5e
xchg ebp, eax
jne 0x501216
movzx ebp, word [eax]
test bp, 0x10
je 0x5011db
mov dword [esp], eax
mov byte [esp + 4], 9
call fcn.004fe070
jmp 0x5011e8
mov dword [esp], eax
mov byte [esp + 4], 7
call fcn.004fe070
mov ebp, dword [esp + 0x3c]
lea ebx, [ebp - 1]
mov ebp, ebx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 1
mov eax, dword [esp + 0x4c]
lea edx, [eax + ebp]
mov ecx, dword [esp + 0x74]
movzx eax, byte [esp + 0x3a]
xor ebp, ebp
xor esi, esi
jmp 0x500a15
xchg ebp, eax
cmp al, 0x7b
xchg ebp, eax
je 0x5012c2
xchg ebp, eax
cmp al, 0x7c
xchg ebp, eax
jne 0x50125a
mov dword [esp], eax
call fcn.005021d0
mov eax, dword [esp + 0x3c]
lea ebx, [eax - 1]
mov eax, ebx
neg eax
sar eax, 0x1f
and eax, 1
mov ecx, dword [esp + 0x4c]
lea edx, [ecx + eax]
mov ecx, dword [esp + 0x74]
movzx eax, byte [esp + 0x3a]
xor ebp, ebp
xor esi, esi
jmp 0x500a15
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.005052b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
test eax, eax
jne 0x501501
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x3c], ebp
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004fded0
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x3c]
mov edx, dword [esp + 0x4c]
movzx eax, byte [esp + 0x3a]
xor ebp, ebp
xor esi, esi
jmp 0x500a15
mov dword [esp + 0x44], edi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00501910
movzx eax, byte [esp + 0x1c]
test al, al
jne 0x501321
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov dword [esp + 4], 0x7b
call fcn.004fded0
mov eax, dword [esp + 0x3c]
lea ebp, [eax - 1]
mov eax, ebp
neg eax
sar eax, 0x1f
and eax, 1
mov ecx, dword [esp + 0x4c]
lea ebx, [ecx + eax]
mov ecx, dword [esp + 0x74]
mov edx, ebx
mov eax, 0x11
xor esi, esi
mov ebx, ebp
xor ebp, ebp
jmp 0x500a15
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x18]
cmp eax, 0x3e8
ja 0x501539
mov ebp, dword [esp + 0x10]
cmp ebp, 0x3e8
jg 0x501539
test ebp, ebp
jl 0x501350
cmp ebp, eax
jl 0x501539
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x74]
mov dword [esp], edx
mov byte [esp + 4], 0x11
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x10], eax
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x24], ecx
call fcn.004fe140
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
test eax, eax
jne 0x50151d
mov ecx, dword [esp + 0x74]
mov eax, 0x11
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x4c]
jmp 0x500a15
mov dword [esp + 0x8c], 0
mov byte [esp + 0x3b], 0
mov edx, dword [esp + 0x78]
mov eax, dword [edx]
call eax
add esp, 0x7c
ret
mov dword [esp + 0x8c], 0
mov byte [esp + 0x3b], 0
mov edx, dword [esp + 0x78]
mov eax, dword [edx]
call eax
add esp, 0x7c
ret
lea eax, [0x6f5b40]
mov dword [esp], eax
call fcn.0040bc10
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x17
lea ecx, [0x734c86]
mov dword [eax], ecx
mov dword [eax + 0xc], 2
mov ecx, dword [0x98d0b8]
test ecx, ecx
jne 0x501441
mov ecx, dword [esp + 0x4c]
jmp 0x50144c
call fcn.00471ab0
mov ecx, dword [esp + 0x4c]
mov dword [edi], ecx
mov dword [eax + 8], ecx
mov dword [esp + 0x8c], 0
lea ecx, [0x7a4b30]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], eax
mov byte [esp + 0x3b], 0
mov edx, dword [esp + 0x78]
mov eax, dword [edx]
call eax
add esp, 0x7c
ret
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
mov byte [esp + 0x3b], 0
mov edx, dword [esp + 0x78]
mov eax, dword [edx]
call eax
add esp, 0x7c
ret
mov dword [esp + 0x8c], 0
mov byte [esp + 0x3b], 0
mov edx, dword [esp + 0x78]
mov eax, dword [edx]
call eax
add esp, 0x7c
ret
mov dword [esp + 0x8c], 0
mov byte [esp + 0x3b], 0
mov edx, dword [esp + 0x78]
mov eax, dword [edx]
call eax
add esp, 0x7c
ret
mov dword [esp + 0x8c], 0
mov byte [esp + 0x3b], 0
mov edx, dword [esp + 0x78]
mov eax, dword [edx]
call eax
add esp, 0x7c
ret
mov dword [esp + 0x8c], 0
mov byte [esp + 0x3b], 0
mov edx, dword [esp + 0x78]
mov eax, dword [edx]
call eax
add esp, 0x7c
ret
mov dword [esp + 0x8c], 0
mov byte [esp + 0x3b], 0
mov edx, dword [esp + 0x78]
mov eax, dword [edx]
call eax
add esp, 0x7c
ret
mov ecx, dword [esp + 0x3c]
mov edx, ecx
sub ecx, ebx
cmp edx, ecx
jb 0x5016c7
mov dword [esp + 0x48], ecx
lea eax, [0x6f5b40]
mov dword [esp], eax
call fcn.0040bc10
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x14
lea ecx, [0x7331a6]
mov dword [eax], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x98d0b8]
test ecx, ecx
jne 0x501585
mov ecx, dword [esp + 0x4c]
jmp 0x501590
call fcn.00471ab0
mov ecx, dword [esp + 0x4c]
mov dword [edi], ecx
mov dword [eax + 8], ecx
mov dword [esp + 0x8c], 0
lea ecx, [0x7a4b30]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], eax
mov byte [esp + 0x3b], 0
mov edx, dword [esp + 0x78]
mov eax, dword [edx]
call eax
add esp, 0x7c
ret
mov dword [esp], eax
call fcn.004fe670
mov eax, dword [esp + 0x74]
mov dword [esp], eax
call fcn.00502520
movzx eax, byte [esp + 4]
test al, al
je 0x5015fa
mov eax, dword [esp + 0x74]
mov edx, dword [eax + 0xc]
mov ebx, dword [eax + 8]
lea ecx, [ebx - 1]
cmp edx, ecx
jb 0x5016c2
mov dword [eax + 8], ecx
jmp 0x5015fe
mov eax, dword [esp + 0x74]
mov dword [esp], eax
call fcn.004fe7d0
mov eax, dword [esp + 0x74]
cmp dword [eax + 8], 1
je 0x50168f
lea eax, [0x6f5b40]
mov dword [esp], eax
call fcn.0040bc10
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x11
lea ecx, [0x731242]
mov dword [eax], ecx
mov ecx, dword [esp + 0x84]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x98d0b8]
test ecx, ecx
jne 0x50164e
mov ecx, dword [esp + 0x80]
jmp 0x50165c
call fcn.00471ab0
mov ecx, dword [esp + 0x80]
mov dword [edi], ecx
mov dword [eax + 8], ecx
mov dword [esp + 0x8c], 0
lea ecx, [0x7a4b30]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], eax
mov byte [esp + 0x3b], 0
mov edx, dword [esp + 0x78]
mov eax, dword [edx]
call eax
add esp, 0x7c
ret
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov byte [esp + 0x3b], 0
mov edx, dword [esp + 0x78]
mov eax, dword [edx]
call eax
add esp, 0x7c
ret
call fcn.00471b70
call fcn.00471b50
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x58], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x40], edx
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.004fded0
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x58]
test edx, edx
je 0x501746
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.005052b0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x5016cc
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
mov byte [esp + 0x3b], 0
mov edx, dword [esp + 0x78]
mov eax, dword [edx]
call eax
add esp, 0x7c
ret
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x4c]
movzx eax, byte [esp + 0x3a]
xor ebp, ebp
xor esi, esi
jmp 0x500a15
call fcn.004706b0
jmp fcn.005007b0